Javascript Window.open在包含确认对话框的if条件下不工作

Javascript Window.open在包含确认对话框的if条件下不工作,javascript,Javascript,我在窗口中遇到了一个奇怪的问题。打开功能 以下代码可以正常工作: window.open(document.getElementById("openTargetItemLink").href+ "&favItemKey=" + itemId, "contributor", "width=950,height=620,resizable=yes,scrollbars=yes", false); 但是,在以下

我在
窗口中遇到了一个奇怪的问题。打开
功能

以下代码可以正常工作:

 window.open(document.getElementById("openTargetItemLink").href+ "&favItemKey=" + itemId, "contributor", "width=950,height=620,resizable=yes,scrollbars=yes", false);
但是,在以下上下文中调用
窗口.open
时:

if (confirm(myMessage))
    window.open(document.getElementById("openTargetItemLink").href+ "&favItemKey=" + itemId, "contributor", "width=950,height=620,resizable=yes,scrollbars=yes", false);
它不起作用。

即使
if
语句似乎正在工作,窗口(预期打开)似乎也不会打开,除非在开发人员工具中包含的控制台中执行上述代码。


您的
myMessage
可能有值
null
未定义
我有过类似的错误,我不知道是什么导致了它,但我这样解决了它

这不管用

if ( something == 1 ) {
    window.open( href, "_blank" );
}   
但这起到了作用:

if ( something == 0 ) {
    return false;
}
window.open( href, "_blank" );

你在测试什么浏览器?它在其他浏览器上工作吗?当
window.open
调用失败时,它是否打印任何错误消息?您确定弹出窗口阻止程序没有停止它们吗?许多浏览器不允许在没有单击事件的情况下触发新窗口,否则浏览器将停止它们。此外,浏览器通常允许每次单击事件打开一个窗口。你可以试着用if(confirm(myMessage))代替if(true),希望这能帮助你:)是的,我确信没有弹出窗口拦截器阻止它们。这也不是浏览器的问题..不..它的定义和工作都很好,这就是为什么它会进入if条件。你没有使用大括号。如果
,请检查
后面的行。可能是因为
后面有很多空格。。。myMessage))