0

jQuery$(document).readyと headjs フレームワーク v1.0.3 を head.ready 機能を使用して使用する際に問題があり、Internet Explorer (バージョン 11、古いバージョンでは試せません) でのみ、10 に 1 回しか使用できません...

私が持っている直前に</body>

head.load('//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',function() {
    head.load('//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js');
    head.ready(function() {
        $(document).ready(function() {
            $('.class').show();
        });
    });
});

$(document).ready イベントがトリガーされない場合もあります。Chrome と Firefox で問題なく動作します。

$(window).load doesn't work better.

私は出そうとしましhead.ready()たが無駄です:

head.load('//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',function() {
    head.load('//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js');
});
head.ready(function() {
    $(document).ready(function() {
        $('.class').show();
    });
});

head.readyの代わりに を使用して解決策を見つけましたが、 の部分がheadjs を使用しないプラットフォームと共有されているコードに由来する$(document).readyため、この解決策を使用できません。head.ready(function() {...});

誰かがこの問題に遭遇したことがありますか、または解決策を持っていますか?

4

1 に答える 1

0

私の推測では、競合状態があると思います。document.ready起動しないため、ドキュメントがすでにヘッドレディで準備完了状態にあるかどうかを確認することをお勧めします。

head.ready(function() {
  var readyfunc = function(){
     $('.class').show();
  };

  if (document.readyState === 'complete'){
    readyfunc();
  }else{
    $(document).ready(function() {
      readyfunc();
    });
  }
}

それが機能するかどうかを確認してください。

于 2015-10-02T13:26:15.183 に答える