簡體   English   中英

帶有 Internet Explorer 8 的 JavaScript

[英]JavaScript with Internet Explorer 8

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 中,即使在字符串stringContent找到toSearch的內容,它stringContent進入循環。

我不確定問題是出在indexOf方法上還是出在我代碼中的其他地方。 讓我知道解決這個問題的方法! 謝謝!

更新

我剛剛注意到在 IE 中調試時,toSearch 變量顯示為 "\\"D:\\company\\"" 而不是 "D:\\company"(在 mozilla 和其他瀏覽器中)。

有什么想法可以克服這個問題嗎?

正如您在此兼容性表中看到的那樣,它在 IE8 中不可用。

您可以考慮使用 RegEx 或查看 MDN 的回退:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM