是否可以使用以下方式扩展我打开的新窗口的 DOM:
var newWindow = window.open('about:blank', 'testWindow', '');
Element.extend(newWindow);
我认为 Element.extend 会起作用。但我确实在 DOM 中看到了对原型的任何引用。
有任何想法吗?
谢谢!莫腾
是否可以使用以下方式扩展我打开的新窗口的 DOM:
var newWindow = window.open('about:blank', 'testWindow', '');
Element.extend(newWindow);
我认为 Element.extend 会起作用。但我确实在 DOM 中看到了对原型的任何引用。
有任何想法吗?
谢谢!莫腾
about:blank
由于跨域安全策略,它可能不起作用。如果该窗口未显示来自同一域的页面,则您无法访问新窗口的 DOM。
其次,即使窗口是同源的,你也不能一打开就访问它的 DOM。您需要等待它加载。简单的方法是让子窗口在完成加载时(在 DOMContentLoad 或 Window.onload 之后)调用父窗口中的函数。或者您可以反复检查 DOM 在setTimeout
循环中是否可用(不要使用 while 循环,因为它会挂起浏览器,直到子窗口准备好)。一旦 DOM 准备就绪,你就可以用它做你想做的事了。
为什么你不想在新窗口中再次加载原型???我的意思是引用在缓存中,所以,如果你再次插入它并不重要......有什么原因吗???