<!DOCTYPE html>
<html>
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<script type="text/javascript">
// 新窗口打开时弹出确认框,是否打开
function openWindow(){
var openw=confirm("是否打开窗口?");
if(openw==true){
var weburl=prompt("请输入网址:","https://www.imooc.com/");
if(weburl!=null){
openw=window.open(weburl,'_blank','width=400,height=500,menubar=no,scrollbars=no');
}
else{
openw=window.open('https://www.imooc.com/','_blank','width=400,height=500,menubar=no,scrollbars=no');
}
}
else{
alert("ByeBye!");
}
}
// 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/
//打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。
</script>
</head>
<body>
<input type="button" value="新窗口打开网站" onclick="openWindow()" />
</body>
</html>
首先,因为您的prompt第二参数已存在路径,所以即使您不输入,它也会默认输入已存在,其次当取消时,返回值为null,代码将直接跳转到此行,所以将会跳转到您输入的其他网页。
var val=prompt();
if(val==null)
window.open();
输入空的时候返回的不是null,点取消返回的才是null