<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>close()</title>
<script type="text/javascript">
function a(){
var q=window.open("http://www.baidu.com","_blank","width=200,height=200");
var b=confirm("做好准备进入神秘旅途了吗");
if(b==true){
var c =prompt("请输入正确指令","");
if(c=="123"){
alert("welcome");
}
else{
alert("口令不对,禁止进入");
q.close();
}
}
else{
alert("请做好准备再来吧");
q.close();
}
}
</script>
</head>
<body>
<input type="submit" value="开始神秘之旅" onclick="a()" />
</body>
</html>
此页面生成的window.prompt()对话框被抑制,因为此页面不是前窗口的活动选项卡。请确保您的对话框是由用户交互触发的,以避免这种情况。https://www.chromestatus.com/feature/5637107137642496
由于此种安全机制,prompt虽然被抑制,但是程序还得望向运行,此时并不是字符串123(也不可能是)所以直接跳到else
兼容问题
input里面type="sumbit"什么鬼,应该是type="button"
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>close()</title>
<script type="text/javascript">
function a(){
// var q=window.open("http://www.baidu.com","_blank","width=200,height=200");
var b=confirm("做好准备进入神秘旅途了吗");
if(b=true){
var c =prompt("请输入正确指令","");
if(c=="123"){
alert("welcome");
var q=window.open("http://www.baidu.com","_blank","width=200,height=200");
}
else{
alert("口令不对,禁止进入");
var q=window.open("http://www.baidu.com","_blank","width=200,height=200");
q.close();
}
}
else{
alert("请做好准备再来吧");
q.close();
}
}
</script>
<br>
</head>
<body>
<input type="botton" value="开始神秘之旅" onclick="a()" />
</body>
</html>
if(b==true)
换成 if(b=true){