【发布时间】:2014-05-07 14:03:09
【问题描述】:
我可以使用javascript从确认对话框调用window.open吗?
我的要求:
如果启用了浏览器弹出窗口阻止程序,我想使用window.open(); 打开弹出窗口,但它没有发生,所以我必须显示确认消息“浏览器弹出窗口阻止程序已启用,现在弹出窗口已打开”。现在我点击“确定”,那时我想调用 window.open() 函数。
<html>
<body onload="openPopup();">
<head>
onload Popup Window
</head>
</body>
<script>
function openPopup () {
var href= 'http://google.com';
popUp = window.open(href, "_blank");
if (popUp === null || typeof popUp === 'undefined') {
var ret = confirm("this alert is displayed by Blocker, Continue to Open ?");
if(ret){
window.open(href,"_new");
}
} else {
popUp.focus();
}
}
</script>
是否有可能或有其他方法来处理这种情况?
【问题讨论】:
-
@DontVoteMeDown 感谢您的编辑..
-
你想在浏览器加载后立即打开窗口,可以显示提示和加载窗口,甚至加载不显示警报,你想要哪一个?
-
如果第一个
open()被浏览器屏蔽了,后面的open()也会被屏蔽。 -
@Hawk 我想在任何地方调用 window.open() 函数(没有点击函数)我应该打开弹出窗口。这意味着我必须打开浏览器显示弹出窗口的任何地方。
-
@DontVoteMeDown 是的,正确,但浏览器弹出窗口阻止程序仅在弹出窗口打开时显示,无需用户交互(无点击事件)。
标签: javascript