原先的代码是酱紫的:
function openWindow(){
var message=confirm("你是否要打开新窗口")
if(message==true)
{ var str=prompt("请输入你要打开的新窗口的网址","http://www.imooc.com/");
if(str==true)
{window.open('http://www.imooc.com/',width=400,height=500,menubar=no,toolbar=no);}
else() {}
}
else() {}
}
然后问题出来了,在我在对话框中点击确定时,没有出现慕课网的网页,而是重新返回到了我学习的网页。我看了看下边的评论,然后修改为if(str)就对了,但是我还是搞不懂这个prompt在进行判断时是如何使用的?
prompt 返回的是文本输入框的信息,不是Boolean值,你把它和confirm弄混了,所以prompt的值不能作为if的判断条件
var str=prompt("请输入你要打开的新窗口的网址","http://www.imooc.com/"); //错误
后面的网址不要填写,prompt(str1, str2);
str2 是你输入的网址;
输入网址点击确定按钮,文本框(str2)中的内容将作为函数返回值
我的code
<!DOCTYPE html>
<html>
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type ="text/javascript">
function openWindow(){
// 新窗口打开时弹出确认框,是否打开
var message = confirm("true and false");
if(message){
// 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/
var score = prompt("请输入网址:");
//打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。
window.open(score,"-blank","width=400,height=500");
}
}
</script>
</head>
<body>
<input type="button" value="新窗口打开网站" onclick="openWindow()" />
</body>
</html>