我已经尝试解决这个问题有一段时间了,但是当我尝试引用我打开的窗口时,句柄始终是未定义的。
值得注意的是,这被用于用户脚本这是有问题的片段:
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 都会返回值“undefined”。
我的目标是显示一个弹出窗口,但如果弹出窗口已经打开,它应该替换旧的弹出窗口。这在 FF 中按预期工作,但对于我来说,我无法在 Chrome 中实现它。
为什么要在打开新窗口之前尝试关闭现有窗口?你不需要那样做。
如果您在打开窗口时使用相同的名称,它将替换现有的窗口(如果有)。
这意味着您无需寻找是否有打开的窗口。
function showDonateWindow()
{
if (window.confirm("Question here"))
{
window.open("http://somesite.com/","donateWindowName");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)