如何在面向公众的网站上加入JavaScript?

Luk*_*asz 5 javascript

我正在构建一个面向公众的网站,我正在使用大量的jQuery和jQueryUI.我注意到的是,大多数使用jQuery和jQueryUI的互联网站点在他们的页面中都没有这样的代码.

<script type="text/javascript">
  $(document).ready(function(){

    $("a").click(function(event){
      alert("Thanks for visiting!");
    });

    $( "input:submit" ).button();
  });
</script>
Run Code Online (Sandbox Code Playgroud)

我知道这是一个简单的例子,但大多数网站,例如SO只有一个混淆的js文件包含在所有页面中.看起来他们似乎没有在任何地方使用$(document).ready.在我当前的网站上,似乎我需要为每个页面包含一个js文件.我的问题是它是如何完成的,是否有关于如何在页面中使用/包含javascript的最佳实践?

del*_*ted 3

根据 W3C,您几乎可以将脚本放在任何地方:http ://www.w3schools.com/js/js_whereto.asp

那么你应该把它们放在哪里呢?

Ege 的说法是正确的,您应该将它们尽可能放在页面的下方,因为这将使浏览器能够在到达“阻塞”脚本之前预先并行加载更多内容。有关更多详细信息,请参阅此处:http://developer.yahoo.com/performance/rules.html#js_bottom

此外,将脚本(和 CSS)放入外部文件中几乎总是一个好主意,这样浏览器就可以缓存它们,从而使用户不必每次都随页面下载它们。

就我个人而言,我总是对 jQuery 等脚本框架使用 CDN,因为它们可以比您更快地交付外部资源。此外,浏览器已经为同一 CDN 中的另一个站点缓存了 jQuery 的可能性也更大。更多详细信息请参见:http://code.google.com/apis/libraries/devguide.html

最后,使用 $(document).ready 没有任何问题,但请注意,这可能会影响网站的响应能力,并且其优点可能不会超过其缺点。再次,更多详细信息请参见:http://encosia.com/2010/08/18/dont-let-jquerys-document-ready-slow-you-down/

希望这有帮助。