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

时间:2021-07-29 07:47:57

标签: javascript popupwindow

我知道这是一个新手问题,但我真的需要帮助。我创建了一个登陆页面,需要访问者输入密码才能访问目标页面。下面的代码工作正常,但它打开了一个窗口作为弹出窗口,因此 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>

2 个答案:

答案 0 :(得分:0)

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

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

>

答案 1 :(得分:0)

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 "";
}

这对你有用