3

我有一个问题,我不想在触发我的 jquery 加载功能之前等待外部脚本。

我可以对它做点什么吗?

加载函数代码:

$(function(){ 
//    ... code here
});

更新

那么 defer 可以很好地确保我的脚本的功能。但是现在我对外部脚本功能有很大的问题。

即这个推特框不再加载

        <script type="text/javasript" charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js" defer="defer"></script>
        <script type="text/javascript" defer="defer">
        new TWTR.Widget({
          version: 2,
          type: 'profile',
          rpp: 4,
          interval: 30000,
          width: 275,
          height: 247,
          theme: {
            shell: {
              background: '#8ec1da',
              color: '#ffffff'
            },
            tweets: {
              background: '#ffffff',
              color: '#444444',
              links: '#1985b5'
            }
          },
          features: {
            scrollbar: true,
            loop: false,
            live: true,
            behavior: 'all'
          }
        }).render().setUser('xxxxxxxx').start();
        </script>

facebook connect也有问题,比如chrome中的按钮不再起作用,等等......

4

1 回答 1

4

为避免在下载外部脚本文件时阻止页面呈现,请使用defer属性。

Xhtml 示例:

<script type="text/javascript" defer="defer" src="external/dont-wait-for-me.js"></script>

更多信息:<script defer="defer"> 究竟是如何工作的?

此外,您可以使用以下命令从 Jquery 动态加载脚本文件getScript

$(function(){ 
    //Do stuff first
    //...
    //Then...
    $.getScript('external/load-me-after-the-dom-is-ready.js', function() {
       alert("the js is loaded");
    });
});
于 2012-04-21T16:19:28.977 回答