0

我编写了这个脚本,将 JavaScript 功能添加到我的网上商店,该脚本在 Firefox 和 Chrome 上运行良好,但不能在 ie 上运行,我不知道为什么?

我正在使用jQuery(function( $ ){而不是.ready由于脚本冲突,我已经测试了使用的脚本.ready,但它仍然不适用于 ie。

如果有人有想法,他们将不胜感激。

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

在某些浏览器而不是 IE 中可以容忍的几件事是第 12 行末尾缺少分号,并且变量 phpbasket 没有定义(尽管如果你在闭包之外用 'var phpbasket' 定义它,那么你应该没关系。如果你在 IE 9 或更高版本中调试它,你应该能够在控制台中看到错误的行号。

于 2013-01-30T22:23:11.207 回答
0

event尝试在点击回调中添加参数

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

不是一个完整的答案,但它可能会为您指明正确的方向。我实际上正要问一个类似的问题——我找到了如何让 IE 11 加载 jquery,但它需要用户点击“f12”然后“运行 activex”,因为显然 IE 认为我的代码可能不安全。但是当用户告诉 activex 运行时,它工作正常。

我正在尝试学习如何使用 jquery 来制作对触摸屏友好的下拉菜单,所以我的代码是基本的 - 没有 css,没有 doctype,只有基本的 html 和 js。如果其他人可以对此有所了解,那就太好了。

于 2013-12-05T15:12:09.003 回答