weixin_33730836 2013-03-01 11:44 采纳率: 0%
浏览 36

indexOf在IE 8/7中不起作用

I am trying to run a jquery/ajax call that works in IE9, Chrome, FF, Opera However, it fails in IE8 and UE7

The code:

  $.ajax({url:plink,
      success: function(result) {
        ppriser = result.split("**")[1];
        plabels = result.split("**")[2];
        pgrupper = result.split("**")[3];
        priser = ppriser.split("!#");
        labels = plabels.split("!#");
        grupper = pgrupper.split("!#");
        $("td .pricetag").each( function() {
          var slutpris = "999999";
          var slutlabel = "";
          for(i=1;i<priser.length;i++) {
            str = String($(this).attr('group')); 
            grp = String(grupper[i]);
            pos = grp.indexOf(str);
            if(grp==str || pos>=0) {
              j=parseInt(priser[i]);
              k=parseInt(slutpris);
              if(j!=0 && j<k) {
                slutpris = priser[i];
                slutlabel = labels[i];
              }
              if(slutlabel=="") { slutlabel = "fra:"; }
              if(slutpris!="999999") { 
                $(this).html(slutpris);
                $(this).prev('td').html(slutlabel);
              }
              if(slutpris=="999999") {
                $(this).css('display','none');
                $(this).closest('.pris').css('display','none');
              }
            }
          }
        });
      }});

I have tried various combos of: cache:false, type:"POST", type:"GET", data:"HTML", dataType:"HTML", timeout: 10000,

An example of the link plink:

Default.aspx?ID=148&fb=true&mode=-1&groupid=1210405@@SHOP5,1210103@@SHOP5,

The jquery link:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

The ajax script link is placed at the end of the page.

  • 写回答

1条回答 默认 最新

  • weixin_33722405 2013-03-01 12:37
    关注

    I tried to cast to string in several wasy (as IE 8/7 does not like indexOf on array objects) but to no avail. Thereafter, I found this solution.

      if (!Array.prototype.indexOf) {
        Array.prototype.indexOf = function(obj, start) {
          for (var i = (start || 0), j = this.length; i < j; i++) {
            if (this[i] === obj) { return i; }
          }
          return -1;
        }
      }
    

    I test if indexOf is supported - and if not the function is created.

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题