Javascript 我可以从确认对话框调用Window.open吗?
我可以使用javascript从确认对话框调用window.open吗 我的要求: 如果启用了浏览器弹出窗口阻止程序,则意味着我想使用Javascript 我可以从确认对话框调用Window.open吗?,javascript,Javascript,我可以使用javascript从确认对话框调用window.open吗 我的要求: 如果启用了浏览器弹出窗口阻止程序,则意味着我想使用window.open()打开弹出窗口但它没有发生,因此我必须显示确认消息,即“浏览器弹出窗口阻止程序已启用,现在弹出窗口已打开”。现在我单击“确定”,此时我想调用window.open()函数 <html> <body onload="openPopup();"> <head>
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>
加载弹出窗口
函数openPopup(){
var href=http://google.com';
弹出=窗口。打开(href,“_blank”);
如果(弹出===null | |弹出类型==='undefined'){
var ret=确认(“此警报由阻止程序显示,是否继续打开?”);
如果(ret){
window.open(href,“_new”);
}
}否则{
popUp.focus();
}
}
是否有可能或有其他方法来处理这种情况?没有
弹出窗口通常只允许在用户单击后出现,正如您在代码onload
中看到的那样,通常不允许这样做
但是,您可以使用自己的UI创建自定义确认框,用户可以单击该确认框打开弹出窗口。这将起作用,除非浏览器的弹出窗口拦截器过于热心,以至于在浏览器本身未经事先确认的情况下,甚至可以单击打开弹出窗口。@DontVoteMeDown感谢您的编辑。.是否要在浏览器加载后立即打开窗口,可以显示提示和加载窗口,甚至在不显示警报的情况下加载,您想要哪一个?我担心如果浏览器阻止了第一个open()
,任何后续的open()
也将被阻止。@Hawk我想在任何调用window.open()函数的地方打开。open()函数(不带单击函数)我应该打开弹出窗口。这意味着无论浏览器在哪里显示弹出窗口阻止程序,我都必须打开。@DontVoteMeDown是的,正确,但浏览器弹出窗口阻止程序仅在弹出窗口打开时显示,而没有用户交互(无单击事件)。如果有其他方法使用javascript/Jquery禁用浏览器弹出窗口阻止程序,请确定。我的要求是,在浏览器阻塞时打开弹出窗口。弹出窗口拦截器的全部目的是阻止弹出窗口。如果有办法禁用它,那将完全无法达到目的。这是因为网站上有带有“单击此处”字样的横幅,没有用户交互,它们就无法打开弹出窗口,而这正是拦截器的主要目的——正如你所说。当然,人们可以友好相处,在他们的网站上提供愉快的浏览体验。有时我认为不应该有弹出窗口拦截器。如果一个网站向你抛出弹出窗口,那么你停止访问它,它就会慢慢地、可怕地死去。。。。对jQuery是unicorns开发的一种神奇的编程语言。它使用JavaScript运行,但不知何故实现了不可能的壮举。