谷歌浏览器Userscripts参考window.open(Google Chrome Usersc

2019-09-16 13:11发布

我一直在试图找出这一个了一段时间,但是当我试图引用我打开手柄上的窗口永远是不确定的。

值得注意的是,这是在userscript使用,这里是有问题的片段:

var donateWindow;

// ######################################################################
// # Show the donation popup and open a window to paypal site
// ######################################################################
function showDonateWindow()
{
    if (window.confirm("Question here"))
    {
      if (! (typeof(donateWindow) == 'undefined' || donateWindow.closed)) window.donateWindow.close();
      window.donateWindow = window.open("http://somesite.com/","tabName");
    }
}

任何帮助将是非常赞赏。 这似乎不管我做什么window.open返回值“未定义”。

我的目标是有一个弹出窗口中显示,但如果一个已经打开它应该只是更换旧的。 这将按预期在FF,但对我的生活,我不能得到它打算在Chrome中。

Answer 1:

为什么你想之前打开一个新的关闭现有的窗口? 你不需要这么做。

如果你只是使用相同名称的窗口,当你打开它,它会取代现有的,如果有。

这意味着你不需要去寻找,如果有一个打开的窗口。

function showDonateWindow()
{
    if (window.confirm("Question here"))
    {
        window.open("http://somesite.com/","donateWindowName");
    }
}


文章来源: Google Chrome Userscripts reference window.open