0

IE9、Chrome、FF、Opera で動作する jquery/ajax 呼び出しを実行しようとしていますが、IE8 と UE7 では失敗します

コード:

  $.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');
              }
            }
          }
        });
      }});

次のさまざまな組み合わせを試しました: cache:false, type:"POST", type:"GET", data:"HTML", dataType:"HTML", timeout: 10000,

リンク plink の例:

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

jquery リンク:

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

ajax スクリプトのリンクは、ページの最後に配置されています。

4

1 に答える 1

1

私はいくつかの面倒な文字列にキャストしようとしましたが(IE 8/7は配列オブジェクトのindexOfを好まないため)、役に立ちませんでした。その後、私はこの解決策を見つけました。

  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;
    }
  }

indexOfがサポートされているかどうかをテストします。サポートされていない場合は、関数が作成されます。

于 2013-03-01T12:37:32.780 に答える