0

以下链接http://developer.yahoo.com/performance/rules.html#js_bottom说“将脚本放在底部”以加速您的网站。可以说我已将它们添加到底部

<html>
<head></head>
<body>
...
...
...
html
....
<script src="script1"/>
<script src="script2"/>
<script src="script3"/>
</body>
</html>

现在,如果我需要在 html 中间的某个地方访问这些 js 文件的某些功能,我该怎么做?假设代码是这样的

    <html>
    <head></head>
    <body>
    ...
    ...
    ...
    html
    .....
<script>
$('a.test').modal('show);
</script>
    ....
    <script src="script1"/>
    <script src="script2"/>
    <script src="script3"/>
    </body>
    </html>

“$”、“modal”等上方是附加在页面底部的js库的一部分。我将如何检测底部脚本的完成并触发脚本标记中编写的代码(

$('a.test').modal('show);

)

4

4 回答 4

0

您可以推迟 $ 的执行,以便您的代码在脚本加载之前不会运行。

http://www.mrclay.org/2010/11/14/using-jquery-before-its-loaded/

于 2013-06-28T15:44:50.087 回答
0

您必须考虑您的设计以及您想对页面做什么。

从您的假设开始:将标签放在底部可以加速您的网站。它会加速您的网站吗?并不真地。那么它有什么作用呢?在 DOM 底部加载脚本的优势意味着 DOM 总是首先被加载。

页面从上到下解析,一旦遇到脚本标签,它就会被执行。如果脚本标签上有一个链接,则该脚本会同步加载,从而阻止 DOM 的呈现。

如果您绝对需要 jQuery 在页面中间执行操作,请将其加载到顶部。您的网页现在变慢了吗?是的,加载 jQuery 需要一秒钟。你的观众受到影响了吗?多少?一秒?

要点:在顶部加载脚本很好。加载 10 个脚本,最终加起来大约 1 MB,并不是因为它会影响用户体验。

正如其他人所提到的,您始终可以使用选择器来操作那部分代码,而无需在页面中间运行脚本。无论如何,将 UI 与代码分开是一种更好的做法。

于 2013-06-28T15:20:25.053 回答
0

要执行脚本,您必须确保必须为该脚本提供所有必要的依赖项。因此,您有两个选择:

  1. 在特定脚本之前放置必要的脚本引用
  2. 将脚本放在页面底部。

没有什么是一成不变的,真正的解决方案取决于您的特定问题。

于 2013-06-28T15:10:04.423 回答
0

将所有脚本保留在 html 的一部分中是一种普遍的良好编码实践。话虽如此,我会建议同样的事情,在底部加载最大的脚本,这有助于快速加载。就依赖关系而言,如果您的脚本依赖于某些东西,请在调用它之前尝试包含它。它基本上是迭代的:)

于 2013-06-28T15:18:49.843 回答