【问题标题】:javascript alert terminates rest of scriptjavascript 警报终止脚本的其余部分
【发布时间】:2009-08-31 06:37:55
【问题描述】:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">alert("Hola amigo")</script>
</head>
<body>

 --I still want to see the following-- >>
<p>Lorem ipsum</p>

</body>
</html>

为什么它会终止后面的一切?我想如果你把它放在&lt;head&gt; 里面就不会了。我不喜欢将它放在底部(在 /html 之后)。有什么问题?

【问题讨论】:

    标签: javascript alert


    【解决方案1】:

    您可能想要做的是将它定义为一个函数,然后从 body 标记的 onLoad 属性调用该函数。 (或者首先将您的警报调用放在 onLoad 属性中。)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    function foo() {
        alert("Hola amigo");
    }
    </script>
    </head>
    <body onLoad="javascript:foo()">
    
     --I still want to see the following-- >>
    <p>Lorem ipsum</p>
    
    </body>
    </html>
    

    【讨论】:

    • onload 属性中确实不需要“javascript:”前缀。
    【解决方案2】:

    发生这种情况是因为警报在解析头部时立即执行,alert 阻止解析,因此尚未加载正文的内容。

    在加载窗口时执行警报(window.onload 事件):

    window.onload = function () {
      alert("Hola amigo");
    }
    

    【讨论】:

      【解决方案3】:

      alert() 会阻塞 UI 线程(换句话说 - 它是模态的),直到用户确认对话框。在对话框关闭之前,页面上不应发生任何事情。

      【讨论】:

        【解决方案4】:

        Java 脚本是一种解释器语言,换句话说 逐行阅读脚本或执行脚本。 因此,在您的情况下,当涉及到警报时[这是模型窗口:禁用其后面的所有内容以防止任何用户操作]。它等待用户操作,然后它才会读取进一步的脚本 rty

        【讨论】:

          【解决方案5】:

          我将 HTML 粘贴到一个页面中,我可以在警报后看到 HTML。你用的是什么浏览器?

          【讨论】:

          • 同样的事情发生在我身上。我假设您将评论放在此处粘贴后以演示您期望的功能。 CMS 和 TT 在您的警报无法正常工作的原因上是正确的。以后粘贴 sn-p 时,按原样粘贴。
          【解决方案6】:

          试试这个:

          <script type="text/javascript"> //<![CDATA[ //Javascript Alert alert("Put your message here"); //]]> </script>
          

          你把它放在哪里都没有关系。但是,如果您希望它首先出现,请将其放在脚本的顶部,然后放在底部以最后出现

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-10-08
            • 2015-07-12
            • 2011-07-10
            • 1970-01-01
            • 2010-10-07
            • 1970-01-01
            • 2016-12-03
            相关资源
            最近更新 更多