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))