我可以使用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>
Run Code Online (Sandbox Code Playgroud)
是否有可能或有其他方法来处理这种情况?
没有.
弹出窗口通常只允许在用户点击后使用,并且正如您在代码中看到的那样,通常不允许弹出窗口onload.
但是,您可以使用自己的UI创建自定义确认框,用户可以单击该复选框以打开弹出窗口.这将是有效的,除非浏览器的弹出窗口阻止程序过于热心,甚至无需事先在浏览器内确认即可阻止点击打开弹出窗口.
| 归档时间: |
|
| 查看次数: |
1350 次 |
| 最近记录: |