【发布时间】:2012-11-06 22:43:10
【问题描述】:
我在尝试让一个相当简单的弹出窗口工作时遇到了一些麻烦。这个想法是父母应该打开一个弹出窗口,然后在其中附加一个 div。
代码的相关部分:
parent.html:
var childWindow;
function togglePref() {
childWindow = window.open("popup.html", "prefPopup", "width=200,height=320");
}
function loadPopupElements() {
var prefElements = document.getElementById("prefBrd").cloneNode(true);
var childDoc = childWindow.document;
var childLink = document.createElement("link");
childLink.setAttribute("href", "pop.css");
childLink.setAttribute("rel", "stylesheet");
childLink.setAttribute("type", "text/css");
childDoc.head.appendChild(childLink);
childDoc.body.appendChild(prefElements);
}
popup.html:
<head>
</head>
<body onload="opener.loadPopupElements();">
</body>
这适用于 Safari 和 Chrome,但由于某种原因 IE 拒绝附加任何内容。
【问题讨论】:
-
我可以在这里看到的一件事是您不能从不同的文档中附加一个孩子。尝试附加一个您没有克隆的元素,并确保您使用 childDoc 创建的任何其他元素。
标签: javascript html popup window.open appendchild