-1
var id = data.rslt;
var element = id.attr("crawlLocation");
if (element.indexOf("\\") != -1){
var toSearch = element.substring(0,element.lastIndexOf("\\"));
toSearch = "\"" + toSearch + "\"";
}
var stringContent = getInnerHTML('selectedCustodiansForIngestDiv');
if(stringContent.indexOf(toSearch) == -1){
  //This loop works fine on Firefox but not in IE8
}

function getInnerHTML(elmtId) {
var innerHTML = "";
if ($gElem(elmtId) != null) {
    innerHTML = document.getElementById(elmtId).innerHTML;
}
return innerHTML;
}

上記のコードでは、indexOfメソッドの if 条件が IE8 では期待どおりに機能しませんが、他のブラウザーでは正常に機能します。

IE8 ではtoSearch、文字列内に のコンテンツが見つかった場合でもstringContent、ループ内に入ります。

問題がindexOfメソッドにあるのか、コードのどこかにあるのかわかりません。これを直す方法を教えてください!ありがとう!

アップデート

デバッグ中に、IE で toSearch 変数が "D:\company" ではなく "\"D:\company\"" として表示されることに気付きました (mozilla およびその他のブラウザー)。

これを克服するためのアイデアはありますか?

4

1 に答える 1