可以在打开的javascript窗口中访问DOM吗?

可以在打开的javascript窗口中访问DOM吗?,javascript,Javascript,使用javascript,我可以打开和关闭一个弹出窗口,如下所示 var myWindow = window.open('http://example.org/'); // do things to window. myWindow.close(); 如何在关闭弹出窗口之前操作页面的DOM元素?我试过了 myWindow.onready = function() { myWindow.document.getElementById('someElementID').style.colo

使用javascript,我可以打开和关闭一个弹出窗口,如下所示

var myWindow = window.open('http://example.org/');
// do things to window.
myWindow.close();
如何在关闭弹出窗口之前操作页面的DOM元素?我试过了

myWindow.onready = function() {
    myWindow.document.getElementById('someElementID').style.color = '#f00';
}
没用。

这表明它在没有现成处理程序的情况下工作

var myWindow = window.open('http://example.org/');
alert(myWindow)
// Alerts an HTMLDocument object

与评论中提到的@jfriend00一样,没有现成的事件处理程序来处理。没有事件让您知道URL已正确加载到弹出窗口中。唯一可行的选择是设置超时,然后访问元素

像这样:

var myWindow = window.open('./t6.html');  

setTimeout(check, 3000);

console.log($('body', myWindow.document)); // This shows a blank "body"

function check() {
    console.log($('body', myWindow.document)); // This shows the actual elements in the document
}

myWindow.close();

@KashifNaseem显然,他不是试图从第二个窗口访问第一个窗口,而是访问弹出窗口的元素。窗口对象上没有
onready
方法。如果DOM是同一个域,您可以在弹出窗口中访问它。两个页面是否在同一个域中?您可以使用myWindow.onload而不是myWindow。onready@ATOzTOA-iFrame、Frame和windows都需要相同的原点才能从其他地方访问。见详情。这样,即使您创建了窗口或框架,也无法欺骗/操纵来自其他域的内容。您确定document.getElementById在文档未加载时有效吗?您必须等待文档加载。而且,你必须是同一个域。那么,这个呢?这个答案行不通。。。好像我错过了什么<代码>我的窗口。onload也不起作用。实际上,它不起作用。。。只是警告显示HTMLDocument并不意味着它是一个活动窗口。