是否可以扩展使用window.open打开的新窗口的DOM而无需在新窗口中加载prototypeJS?

时间:2010-05-04 07:20:16

标签: javascript dom prototypejs extend

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

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

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

有什么想法吗?

谢谢! 的Morten

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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