通过Javascript控制浏览器窗口

Cri*_*ris 5 javascript browser

我有一个Web应用程序,在其他窗口/选项卡中启动URL.我想检查窗口/标签是否存在; 如果没有,我想创建它,否则我想在第一个位置选择它.我用:

wf=window.open(address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450');
if(wf!=null)
    wf.focus();
Run Code Online (Sandbox Code Playgroud)

但它只是第一次(在IE中,而不是在Firefox中); 如果我在窗口中创建一个新选项卡,当我调用window.open()时没有任何反应; 如果我关闭窗口,它会重新创建它,但保持图标化...有没有办法可以遵循以获得良好的结果?

在此先感谢问候,c.

Kev*_*son 2

以下是我使用了多年的一些代码,据我所知,它们仍然有效。请注意,oWindow 具有全局范围,并且我将其作为字符串而不是对象本身传递给 open 的第二个参数。然后,我在尝试再次打开之前测试它是否已关闭...如果它已经打开,那么我只需将焦点放在它上:

var oWindow;

function openWindow(p_strURL) {

    if(!oWindow || oWindow.closed) {
        oWindow = window.open(p_strURL, "oWindow", "status, scrollbars, resizable, width=800, height=500");
        if(!oWindow.opener) {
            oWindow.opener    = window;
        }
    }
    else {
        oWindow.location.href = p_strURL;
        oWindow.focus();
    }
}
Run Code Online (Sandbox Code Playgroud)

希望它能帮助您找到解决方案

凯文