微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

window.open 打开了一个弹出窗口而不是一个新窗口

如何解决window.open 打开了一个弹出窗口而不是一个新窗口

我知道这是一个新手问题,但我真的需要帮助。我创建了一个登陆页面,需要访问者输入密码才能访问目标页面。下面的代码工作正常,但它打开了一个窗口作为弹出窗口,因此 Chrome 阻止了它。我应该如何编辑下面的代码以防止这种情况发生?非常感谢!

<SCRIPT>
function passWord() {
var testV = 1;
var pass1 = prompt('Please Enter the Password','');
while (testV < 3) {
if (!pass1)
history.go(-1);
if (pass1.toLowerCase() == "letmein") {
alert('Access approved! Catalogue is Now open.');
window.open('sandoz-ecatalog.html','_blank');
break;
}
testV+=1;
var pass1 =
prompt('Access Denied - Password Incorrect,Please Try Again.','Password');
}
if (pass1.toLowerCase()!="password" & testV ==3)
history.go(-1);
return "";
}
</SCRIPT>

解决方法

打开一个新窗口而不阻塞它是相对于浏览器用户而言的。您无法阻止用户阻止打开新窗口

由于弹出窗口阻止程序是在用户未调用的 window.open 上激活的,因此我建议您制作一个按钮或其他东西,以便与用户创建不会阻止新弹出窗口的交互

> ,
function passWord() {
var testV = 1;
var pass1 = prompt('Please Enter the Password','');
while (testV < 3) {
if (!pass1)
history.go(-1);
if (pass1.toLowerCase() == "letmein") {
alert('Access approved! Catalogue is now open.');
  window.open("","_blank","toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");


break;
}
testV+=1;
var pass1 =
prompt('Access Denied - Password Incorrect,Please Try Again.','Password');
}
if (pass1.toLowerCase()!="password" & testV ==3)
history.go(-1);
return "";
}

这对你有用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。