2

我在javascript中使用以下代码创建了一个弹出窗口;

  window.open("http://google.com", "myWindow", "status = 1, height = 300, width = 300, resizable = 0");

我需要将以下动态 div 添加到该弹出窗口。

 <div><img src="/images/img1.jpg" /></div>

上面的 div 是动态的,因为图像 src 会根据 url 中的查询字符串而有所不同

4

3 回答 3

7

出于安全原因,您不能这样做。由于同源策略(而且 google.com 肯定不是您的域),您将无法访问其他窗口的 DOM。

如果弹出窗口来自同一个域,则返回值window.open将是对弹出窗口window对象的引用:https ://developer.mozilla.org/en/DOM/window.open

var popup = window.open("/relative path.html", ...);
popup.onload = function() { // of course you can use other onload-techniques
    jQuery(popup.document.body).append("<div />"); // or any other dom manipulation
}
于 2012-04-10T06:47:10.703 回答
1

只需使用以下代码:

a href="www.google.com" onclick="window.open(this.href, null, 'height=580, width=680, toolbar=0, location=0, status=1, scrollbars=1, resizable= 1'); 返回假"

于 2012-04-10T06:49:37.063 回答
1

正如bergi 所说,不要从外部域附加到DOM。但是对于同一个域(取自这里

win=window.open('about:blank','instructions','width=300,height=200');
doc=win.document;
doc.open();
doc.write('<div id="instructions">instructions</div>');
doc.close();
//reference to the div inside the popup
//->doc.getElementById('instructions')

您也可以在此处查看示例。

于 2012-04-10T07:08:19.703 回答