0

只是一个关于处理顺序和 DOM 处理方式的快速问题。

我的理解是,在标记之前包含所有 JQuery 脚本是最佳实践。在我的情况下,我有一个 div 容器,它包含了我的大部分身体元素。其中包括我的页脚,其中包含公司名称和年份。目前我的页面以模块化方式设置(header.php、page.php、footer.php),我想在 footer.php 中包含我的公司名称和年份,因为这显然可以轻松编辑公司名称. 我的问题在于想要保持在正文之前保留 jquery 脚本的格式。使用这种布局,如果不将 jquery 脚本包含在我的 div 中,我就无法在我的 footer.php 中包含公司名称。我将向您展示我对伪代码的含义:

目前是如何设置的:

页面.php

<body>
<div class="container">
  //body elements
<hr>
 <p>&copy; Company 2012</p>
</div>
<script>
  //some javascript #1
</script>
<script>
  //some javascript #2
</script>

页脚.php:

<script> //same static javascript that doesn't change page to page </script>
</body>

我想如何设置它(允许在整个站点范围内轻松更改公司名称):

页面.php

<body>
<div class="container">
  //body elements
<script>
  //some javascript #1
</script>
<script>
  //some javascript #2
</script>

页脚.php:

<hr>
 <p>&copy; Company 2012</p>
</div>
<script> //same static javascript that doesn't change page to page </script>
</body>

我意识到我可以这样做,但我害怕失去优化,因为我的 jquery 脚本在技术上将在容器内执行。

综上所述,是否会在页面容器的关闭 div 之前包含我的 jquery 脚本,但是在 div 的所有内容之后,是否会导致它的效率低于在所述 div 关闭之后?

我意识到所有这一切都完全取决于 DOM 的处理方式,但我似乎找不到任何关于 DOM 是否在处理过程中进行处理的信息,或者在实际处理之前是否需要结束标记,这将在反过来导致第二种方法变慢。

让我知道我是否可以清除任何东西。谢谢

4

1 回答 1

0

内联脚本会阻止整个页面的呈现。(只有 Opera 会进行一些渲染)因此,将它们放在机箱中的位置并不重要。一般来说,最好将它们放在最后,因为仍然可以下载外部文件,并且如果启用了刷新,则可以呈现某些内容。

外部脚本只会阻止它们下面的所有内容的呈现。

于 2012-06-03T23:22:45.637 回答