0

オンラインショップにJavaScript機能を追加するためにこのスクリプトを作成しました。このスクリプトは、FirefoxとChromeで正常に機能しますが、ieでは実行されません。理由がわかりません。

スクリプトの競合が原因ではjQuery(function( $ ){なくを使用していますが、を使用してスクリプトをテストしましたが、ieではまだ機能しません。.ready.ready

誰かがアイデアを持っているなら、彼らは大いに感謝されるでしょう。

jQuery(function( $ ){

setInterval(function(){ updatecart();  },8000);

   $('.addtobag').on('click', function(){
       event.preventDefault();
       var postdata = new Object();

       var action = $(this).closest('form').attr('action');

      $(':input',$(this).closest('form')).each(function(evt){

        var L = $(this).attr('name')
        postdata[L] = $(this).val();

      });


       $.post(action, postdata);

       generate('success'); //display banner
        updatecart();   //update cart

            });

    var postdata = new Object();

    postdata['basket'] = phpbasket;



     function updatecart() {

      $.post("/get_cart_details.php", postdata, function (data) {
                      var obj = $.parseJSON(data);
                           $('#qty_js').text(obj.items_qty);
                           $('#amt_js').text(obj.items_value);
                           });

     }



  function generate(type) {
    var n = noty({
        text: 'The item(s) have been added to your basket.',
        type: type,
      dismissQueue: true,
        layout: 'topCenter',
        theme: 'defaultTheme'
    });
    console.log('html: '+n.options.id);

         setTimeout(function() {
      $.noty.closeAll();
    }, 5000);
  }




});
4

4 に答える 4

1

console.log()ステートメントを取り除きます。IE < 9 はチョークし、9 はコンソールが開いている場合にのみ機能します。

于 2013-01-30T22:20:20.863 に答える
0

eventクリックコールバックにパラメータを追加してみてください

$('.addtobag').on('click', function(event){
于 2013-01-30T22:16:36.263 に答える
0

IE ではなく一部のブラウザーで許容される可能性のあるいくつかのことは、行 12 の末尾にセミコロンがないことと、変数 phpbasket が定義されていないことです (ただし、「var phpbasket」を使用してクロージャーの外側で定義した場合は、 IE 9 以降でデバッグすると、コンソールにエラーの行番号が表示されるはずです。

于 2013-01-30T22:23:11.207 に答える