如何最后加载jquery

如何最后加载jquery,jquery,load,Jquery,Load,我在网上搜索了一下,找到了一些答案,但都不管用。我希望我的网站加载更快。我缩小了我的形象。现在我使用的是jquery,使用的是google托管的版本。虽然它不在我的网站上托管,但它是网站中最重的文件(32kb),在任何其他图像之前,它的加载量排在第二位。我尝试过在body closing标记之前添加javascript,如下所示: <script language="javascript"> var e=document.createElement('script');

我在网上搜索了一下,找到了一些答案,但都不管用。我希望我的网站加载更快。我缩小了我的形象。现在我使用的是jquery,使用的是google托管的版本。虽然它不在我的网站上托管,但它是网站中最重的文件(32kb),在任何其他图像之前,它的加载量排在第二位。我尝试过在body closing标记之前添加javascript,如下所示:

<script language="javascript">

      var e=document.createElement('script');
      e.setAttribute('type','text/javascript');
      e.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');

      document.body.appendChild(e)

      var f=document.createElement('script');
      f.setAttribute('type','text/javascript');
      f.setAttribute('src','myjs.js');
      document.body.appendChild(f)
  </script>

var e=document.createElement('script');
e、 setAttribute('type','text/javascript');
e、 setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');
document.body.appendChild(e)
var f=document.createElement('script');
f、 setAttribute('type','text/javascript');
f、 setAttribute('src','myjs.js');
document.body.appendChild(f)
在firebug控制台上,它显示jquery是最后加载的。然而,它也显示了未捕获的引用错误$notdefined,我猜测当jquery没有正确加载时会出现错误

如果我把这两个js文件放在head标记中,一切都会正常工作

我怎样才能完成这项任务


谢谢。

动态加载javascript文件会导致异步加载它们,因此您无法保证先加载哪个库。如果您需要强制执行顺序(对于jQuery这样的库,您总是这样),那么您需要向页面添加带有
src
属性的
script
标记,如下所示:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="myjs.js"></script>

如果将脚本标记添加为
body
元素中的最后一个元素,而不是
head
,则会使加载速度更快(渐进增强)


编辑正如一位评论者所指出的,您可以阅读答案以获得更多细节。

我无法在特定系统中强制执行脚本顺序,我可以通过使用
addEventListener包装我的jQuery代码

<script><!--
(function() {
    'use strict';
    window.addEventListener('load', function() {
        // All resources loaded
        $('#my-selector').on('click', function(event){
            //Do something
        });
    }, false);
})();
//--></script>


这允许我在文档的底部加载jQuery,并在需要的地方在DOM的更上层的代码中使用“$”。不是所有情况下的完美解决方案,但符合我的目的;)

关于未捕获的引用错误$。您必须确保在任何脚本之前先加载jQuery库引用。为了提高性能,您使用的是什么平台?如果你在.NET上,你可以使用捆绑。或者试试CDN。就像普通人一样,只需在头部添加它们。你是否也将所有JavaScript延迟到页面末尾?如果您将jQuery延迟到页面加载的末尾,但在任何非延迟(即非onload)上下文中引用jQuery,那么您将遇到该错误。请看,您的建议的可能重复听起来更倾向于解决我的问题。javascript不是很好。。如何在提供的脚本上添加脚本标记和src属性?我编辑了答案以包含脚本标记。希望这有帮助!