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

为什么我这样写它没有页面打开?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>close()</title>
  <script type="text/javascript">
     var mywin=window.open("http://www.imooc.com");
     var xixi=confirm("你确定要打开吗");
     if(xixi=="true");
     {
    alert("勇气可嘉");
     else
     alert("为什么轻易放弃");
     }
    mywin.close();
    
  </script>
</head>
<body>
</body>
</html>

正在回答

5 回答

上面这位其实逻辑还是出了点小错,点取消,不会弹出 ("为什么轻易放弃"),网站都没打开,怎么点关闭呢,网页还是报错,把 mywin.close();删了,才是正确的。

0 回复 有任何疑惑可以回复我~

同学我来给你纠错,虽然已经九个月了,但是后来的人希望也能够学到一点

  1. if语句里面的true是boolean值,但是你加了双引号“true”,他就变成了一个指定的数据,而不是真假值

  2. window.open( ) ,括号里面的URL是加单引号‘’不是双引号“”

  3. if...else的大括号没有括起来,按照你的书写方式,正确的写法是?

if(条件)
{
    执行代码;
}
else
{
    执行代码;
}

*应该是if一个大括号,else一个大括号 = if{}else{}
*注意你还有一个错误,if(条件); 这里你多了一个终止符号;

    4.我们把英文代码换成中文,来理解这个逻辑

如果(条件 等于 真)
{
    执行这段代码A并终止判断
}
否则
{
    执行这段代码B并终止判断
}
如果你把终止符加在一开始,那么后面就不会运行了,而且编译器会报错(建议下载编译器)

    5.运行逻辑错误

    再来看看你的运行逻辑

    打开窗口并运行imooc网址↓

    出现确认提示,是否要打开↓    (这里就有点搞不懂你的逻辑,网页已经打开了imooc了,为什么还要问)

    如果为真(即确认)输出警告栏并提示勇气可嘉↓

    如果为假(即取消)输出警告栏并提示为什么轻易放弃↓

    窗口关闭(注意这个窗口关闭 是在判断条件之外的,意思就是不管你选哪个窗口都会关闭)

    【那怎么改呢?】

    首先要确认你的设机思路是什么,是先询问,再根据询问的条件来判断是否要打开窗口并输出相应的文字吗?

    还是先打开窗口,再询问,如果为真,就什么都不动(因为已经打开了窗口)如果为假,则关闭窗口?

    不管怎么改,总的结构不会变,如下↓

var xixi=confirm("你确定要打开吗");            // 先问(判断)打不打开
  if(xixi==true)                                // 如果打开
  {
    window.open('http://www.imooc.com');        //打开网页
    alert("勇气可嘉");                         //并提示
   }
   else                                        //否则
  {
    mywin.close();                            //关闭网页
    alert("为什么轻易放弃");                  //并提示
   }
*其实很简单,多练习几遍就好了
*小细节:建议在body内随意添加几个数字,文字都行,来确保跳转是否正常,如果网页什么都没有,跳转了还是没有跳转都不好判断


0 回复 有任何疑惑可以回复我~
  1. if后面的判断条件应该写成  if(xixi==true)

  2. 条件成立时要执行的代码应该写在 { } 里面,加上前后大括号

    我觉得你这个页面应该是这么表达的吧:弹窗询问是否要打开慕课网,如果用户选择确定,则提示“勇气可嘉”返回true值,继续打开慕课网;如果用户选择取消,则提示“为什么轻易放弃” 返回false,关闭打开慕课网。我按照我的理解改了,如下所示:

<script type="text/javascript">

     var mywin=window.open("http://www.imooc.com");

     var xixi=confirm("你确定要打开吗");

     if(xixi==true)

     {

    alert("勇气可嘉");

    }

     else

    {

     alert("为什么轻易放弃");

    mywin.close();

     }

  </script>



0 回复 有任何疑惑可以回复我~
#1

慕仙7321963

对了,大多数浏览器会默认拦截掉弹出式窗口,导致打不开新窗口,需手动设置关闭拦截或者将该网站加入白名单。
2019-08-26 回复 有任何疑惑可以回复我~

同问................

0 回复 有任何疑惑可以回复我~
#1

bloooooo

我刚又试了下,好像我的是被浏览器拦截了(捂脸
2019-08-25 回复 有任何疑惑可以回复我~

else前后的大括号漏了吧?试看看

f(xixi=="true");
     {
    alert("勇气可嘉");
    }
     else{
     alert("为什么轻易放弃");
     }


0 回复 有任何疑惑可以回复我~
#1

weixin_慕盖茨6558867 提问者

还是没有
2019-08-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我这样写它没有页面打开?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信