0

是否可以使用以下方式扩展我打开的新窗口的 DOM:

var newWindow = window.open('about:blank', 'testWindow', '');
Element.extend(newWindow);

我认为 Element.extend 会起作用。但我确实在 DOM 中看到了对原型的任何引用。

有任何想法吗?

谢谢!莫腾

4

2 回答 2

0

about:blank由于跨域安全策略,它可能不起作用。如果该窗口未显示来自同一域的页面,则您无法访问新窗口的 DOM。

其次,即使窗口是同源的,你也不能一打开就访问它的 DOM。您需要等待它加载。简单的方法是让子窗口在完成加载时(在 DOMContentLoad 或 Window.onload 之后)调用父窗口中的函数。或者您可以反复检查 DOM 在setTimeout循环中是否可用(不要使用 while 循环,因为它会挂起浏览器,直到子窗口准备好)。一旦 DOM 准备就绪,你就可以用它做你想做的事了。

于 2010-05-09T04:45:59.937 回答
0

为什么你不想在新窗口中再次加载原型???我的意思是引用在缓存中,所以,如果你再次插入它并不重要......有什么原因吗???

于 2010-05-08T17:45:32.970 回答