为了账号安全,请及时绑定邮箱和手机立即绑定

以下这段代码为什么不能执行啊。。。求大神解析

以下这段代码为什么不能执行啊。。。求大神解析

慕粉3414280 2016-06-08 13:56:45
<!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 a=confirm("是否打开该网址?")                if(a==true){        var b=prompt("通过输入对话框,确定打开这个网址?","http://www.imooc.com/");}                if(b!=null){        window.open("http://www.imooc.com/","_blank","width=400 height=500 ");}                else{alert("拜拜`");}                else{alert("拜拜`");}    }          </script>  </head>  <body>   <input type="button" value="新窗口打开网站" onclick="openWindow()" />  </body></html>
查看完整描述

4 回答

已采纳
?
Suber丶林

TA贡献75条经验 获得超180个赞

① 既然你用H5的文档标准,那你的编码就得改成H5的写法,即把meta修改成<meta charset="utf-8">

② H5中引入JavaScript和CSS都不用指定type属性,所以可以把<script>标签中的type="text/javascript"去掉

③ 你的if else嵌套错了

④ 你的变量a只用了1次,可以省略掉

⑤ 布尔值之间就不需要判断是否与布尔值相等,直接判断即可,再者undefinal、null、0、NaN、''、都是false

⑥ 你的prompt()第二个参数冒号和window.open()第一个参数中冒号使用了全角状态

修改后代码为:

<!DOCTYPE html>
<html>
<head>
  <title> new document </title>
  <meta charset="utf-8">
  <script>
  function openWindow() {
    // 变量a只用了1次,所以没必要存储变量
    if (confirm("是否打开该网址?")) {
    
      // 全角冒号换成半角冒号
      var b = prompt("通过输入对话框,确定打开这个网址?", "http://www.imooc.com/"); 
      
      // 这里null为false
      if (b) {
         // 全角冒号换成半角冒号
         window.open("http://www.imooc.com/", "_blank", "width=400 height=500 ");
         // 有个疑问,业务是否为打开用户输入的URL?是的话,如下:
         // window.open(b, "_blank", "width=400 height=500 ");
      } else {
          alert("拜拜`");
      }
          
    // 第二个alert要放外面
    } else {
      alert("拜拜`");
    }
  }
  </script>
</head>
<body>
    <input type="button" value="新窗口打开网站" onclick="openWindow()" />
</body>
</html>


查看完整回答
3 反对 回复 2016-06-08
?
刚毅87

TA贡献345条经验 获得超309个赞

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title> new document </title>
		<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
		<script type="text/javascript">
			function openWindow() {
				var a = confirm("是否打开该网址?")
				if (a == true) {
					var b = prompt("通过输入对话框,确定打开这个网址?", "http://www.imooc.com/");
					//这个 if 应该写在上个 if 里面
					if (b != null) {
						window.open("http://www.imooc.com/", "_blank", "width=400 height=500 ");
					} else {
						alert("拜拜`");
					} 
				}else {
					alert("拜拜`");
				}
			}
		</script>
	</head>

	<body>
		<input type="button" value="新窗口打开网站" onclick="openWindow()" />
	</body>

</html>

看看是否符合你的要求,可以再提

望采纳

查看完整回答
2 反对 回复 2016-06-08
?
qyy2499760117_叶子

TA贡献188条经验 获得超91个赞

你的判断语气不合规范,错了,应该是If()else(),要么就if(),再if(),不能乱的。

<!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 a = confirm("是否打开该网址?")

           if (a == true) {
               var b = prompt("通过输入对话框,确定打开这个网址?", "http://www.imooc.com/");
           }

           else {
               alert("拜拜`");
           }
       }

       if (b != null) {
           window.open("http://www.imooc.com/", "_blank", "width=400 height=500 ");
       } else {
           alert("拜拜`");
       }


   </script>
</head>
<body>
<input type="button" value="新窗口打开网站" onclick="openWindow();"/>
</body>
</html>

查看完整回答
1 反对 回复 2016-06-08
  • 4 回答
  • 2 关注
  • 2103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信