3

jquery ロード関数がトリガーされる前に extern スクリプトを待ちたくないという問題があります。

私はそれに反対することができますか?

ロード機能のコード:

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

アップデート

私のスクリプトの機能を保証するために、延期は非常にうまく機能します。しかし今、extern スクリプトの機能に大きな問題があります。

つまり、この Twitter ボックスはもう読み込まれません

        <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 に答える