Browse Source

Fixes #11369 (#11402)

Clear contents of iframe clone that is in a Window so that when it's reattached to DOM we don't get 404
tags/7.7.16
macprzepiora 5 years ago
parent
commit
55a0195b1c

+ 16
- 0
client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java View File

@@ -339,6 +339,22 @@ public class WindowConnector extends AbstractSingleComponentContainerConnector
}
return newEl;
}
if ("iframe".equalsIgnoreCase(old.getTagName()) && old
.hasAttribute("src") && old.getAttribute("src")
.contains("APP/connector")) {
// an iframe reloads when reattached to the DOM, but
// unfortunately, when newEl is reattached, server-side
// resource (e.g. generated PDF) is already gone, so this will
// end up with 404, which might be undesirable.
// Instead of the resource that is not available anymore,
// let's just use empty iframe.
// See
// https://github.com/vaadin/framework/issues/11369
// for details of the issue this works around
Element newEl = old.cloneNode(false).cast();
newEl.setAttribute("src", "about:blank");
return newEl;
}
}
Node res = node.cloneNode(false);
if (node.hasChildNodes()) {

Loading…
Cancel
Save