0

このプラグインを使用して Cookie を確立しています

すべてがうまく動作しますが、IE7 と IE8 では

これが私のJSコードです:

jQuery(document).ready(function() {

    jQuery(function() {
          if (jQuery.cookie('shownDialog') != 'true') {
            window.onload = document.getElementById('lightbox-22556401244951').click(); 
          }
            jQuery.cookie('shownDialog', 'true', {expires: 7});
    });

});

IE7 と IE8 だけで動作しない理由がわかりませんか?

4

2 に答える 2

3

すべてを ready 関数にラップしているので、window.onloadすでに起動しています。コードを次のように更新します。

    jQuery(function() {
          if (jQuery.cookie('shownDialog') != 'true') {
            jQuery('#lightbox-22556401244951').trigger("click"); 
          }
            jQuery.cookie('shownDialog', 'true', {expires: 7});
    });
于 2012-09-13T18:55:13.567 に答える
0

ready通常、イベントはイベントの前に発生しますが、loadIE にはイベントがないondomreadyため、jQuery がエミュレートします。つまり、IEではイベントreadyの後にイベントが発生することがあります。load

メソッドを使用しloadてイベントをバインドすると、常に発生します。イベントがすでに発生している場合load、jQuery はイベント ハンドラーを直接呼び出します。

jQuery(document).ready(function() {

  jQuery(function() {
      if (jQuery.cookie('shownDialog') != 'true') {
        jQuery(window).load(function() {
          document.getElementById('lightbox-22556401244951').click();
        });
      }
        jQuery.cookie('shownDialog', 'true', {expires: 7});
  });

});
于 2012-09-13T19:24:43.650 に答える