Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的<;脚本>;位于页面底部,但仍在第一位运行;在运行脚本之前,如何让主体进行渲染?_Javascript_Html - Fatal编程技术网

Javascript 我的<;脚本>;位于页面底部,但仍在第一位运行;在运行脚本之前,如何让主体进行渲染?

Javascript 我的<;脚本>;位于页面底部,但仍在第一位运行;在运行脚本之前,如何让主体进行渲染?,javascript,html,Javascript,Html,我们经常被告知将块放在HTML页面的底部。我认为这是因为HTML是从上到下连续呈现的。因此,这样,脚本在页面呈现之后才会运行,用户也不必等到它完成 但是,以下页面不是这样工作的: <!DOCTYPE html> <html> <head> <title>Foo Bar</title> </head> <body> <h1>Foo Title</h1> &

我们经常被告知将
块放在HTML页面的底部。我认为这是因为HTML是从上到下连续呈现的。因此,这样,脚本在页面呈现之后才会运行,用户也不必等到它完成

但是,以下页面不是这样工作的:

<!DOCTYPE html>
<html>
  <head>
    <title>Foo Bar</title>
  </head>
  <body>
    <h1>Foo Title</h1>
    <p>Bar Text</p>
    <script>
      alert("Hello world");
    </script>
  </body>
</html>

富吧
富头衔
条形文本

警报(“你好世界”);
在查看页面上的文本之前,您必须关闭
警报
弹出窗口

显然我错了。如果脚本在页面呈现之前运行,则HTML似乎不会从上到下连续呈现或解释。为什么不呢

另外,我如何编辑上述代码,使
警报
弹出窗口仅在页面上的文本呈现后出现

这样,直到页面呈现之后,脚本才会运行

不可以。这样,在构建前面内容的DOM之前,脚本不会运行。它仍然可以在浏览器呈现DOM之前运行

如何编辑上述代码,使警报弹出窗口仅在页面上的文本呈现后显示

没有可以检测到的显式绘制事件。您可以将其延迟到触发DOMReady事件、触发load事件或超过setTimeout为止。

使用以下方法:

<script>
    $(document).ready(function() {
        alert("Hello world");
    });
</script>

$(文档).ready(函数(){
警报(“你好世界”);
});
当页面完全加载时将运行。
再看一看

把它放在一个窗口里event@Lixus这不是问题所在。我希望脚本在主体其余部分渲染之后运行,而不是在渲染之前。我知道如何让它运行之前。我想知道为什么,不管教程告诉我什么,这个脚本似乎运行出了问题。我很抱歉在这里过于密集,但我尝试了这个,它并没有解决问题。我本来希望在弹出警报之前看到页面上呈现的“Foo Title”,但在替换
警报(“Hello world”)之后使用上面的代码,页面的工作方式与以前一样。@globewalldesk您最好使用JQery。我会编辑答案,然后再试一次。我很感激,但这似乎也不起作用(在Windows Chrome中)。