DOM处理和javascript放置

DOM处理和javascript放置,javascript,optimization,Javascript,Optimization,只是一个关于处理顺序和DOM处理方式的快速问题 我的理解是,最好在标记之前包含所有JQuery脚本。在我的情况下,我有一个div容器,其中包含我的大部分身体元素。在这些元素中有我的页脚,它有公司名称和年份。目前,我的页面是以模块化方式设置的(header.php、page.php、footer.php),我希望在footer.php中包含我的公司名称和年份,因为这显然可以方便地编辑公司名称。我的问题在于想要保持jquery脚本在主体之前的格式。在这种布局中,如果不在div中包含jquery脚本,

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

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

当前的设置方式:

page.php

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

//身体元素

&抄袭;公司2012

//一些javascript#1 //一些javascript#2
footer.php:

<script> //same static javascript that doesn't change page to page </script>
</body>
<hr>
 <p>&copy; Company 2012</p>
</div>
<script> //same static javascript that doesn't change page to page </script>
</body>
//相同的静态javascript不会在页面之间更改
我希望如何设置它(允许在整个站点范围内轻松更改公司名称):

page.php

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

//身体元素
//一些javascript#1
//一些javascript#2
footer.php:

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

&抄袭;公司2012

//相同的静态javascript,不会在页面之间更改
我意识到我可以这样做,但我担心失去优化,因为我的jquery脚本在技术上是在容器中执行的

这么说来,在页面容器的结束div之前包含jquery脚本,但是在结束div的所有内容之后,会不会导致效率低于在结束div之后

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

如果我能澄清什么,请告诉我。
谢谢

内联脚本会阻止整个页面的呈现。(只有Opera会做一些渲染)所以你把它们放在你的箱子里并不重要。一般来说,最好将它们放在末尾,因为外部文件仍然可以下载,如果启用了刷新,则可以呈现一些内容


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

关于页脚中的公司名称,应该在服务器上维护,而不是在客户端脚本上维护。