如何设置ID到新打开的窗口?

时间:2013-07-10 10:47:10

标签: javascript

我有一个窗口,我从我的javascript代码打开:

 window.open('/Item/Article/' + item.ItemID(), 'ItemArticle', 
'resizable=yes,scrollbars=yes,height=' + res.height + ',width=' + res.width + ',
 left=0', null);

当满足某个条件时,我想更改该窗口的html地址,即将其重新加载到新位置。

如何设置我手动打开的窗口的ID或锚点,以便我可以使用此ID重新加载具有新位置的窗口。

4 个答案:

答案 0 :(得分:1)

您可以1)引用您的窗口,2)使用window.open()时说明名称。

var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);

您可以通过选择相同的窗口名称(第二个参数)来修改窗口。

var myWindow = window.open("http://google.com","myWindow");
// opens SO in the same window
window.open("http://stackoverflow.com","myWindow");
// the following will only work if it's the same domain, else subject to SOP -
// so in the case of initially opening it with google, this won't work!
myWindow.document.location.href = "/example/test.html";
// closes your window
myWindow.close();

因此,在您的情况下,以下行应该有效:

window.open('newURL','ItemArticle'/* optionally: ,'Parameters'*/);

答案 1 :(得分:0)

如果要从窗口A更新Window B的URL,可以执行window.open并提供与第二个参数相同的名称。这将简单地“重新打开”已经打开的窗口,并将其重定向到新的URL。

window.open('http://www.google.com','googleWindow');
window.open('http://www.stackoverflow.com','googleWindow');

上面的代码将在Google上打开一个窗口,并立即将其重定向到Stack Overflow

不确定是否会自动聚焦窗口!

答案 2 :(得分:0)

您可以使用以下方式访问打开子窗口的父窗口中的功能。

window.opener.ParentWindows(); //Here ParentWindows() is userdefined function coded by me in parent windo W

答案 3 :(得分:0)

您可以将窗口存储在变量中,然后像控制窗口对象一样控制它。

以下代码将打开一个新窗口,4秒后重新加载到新位置。

myWindow=window.open('','','width=200,height=100');
myWindow.focus();
setTimeout(function(){
    myWindow.document.location = "http://www.google.com";
}, 4000);