[JS]IE相容模式下會把後臺傳來的html或者xml標籤變成大寫的解決方法
阿新 • • 發佈:2019-02-14
在IE相容模式下, 後臺傳到頁面上的html程式碼或者xml程式碼, 標籤裡會變成大寫, 不符合W3C規範。
如點我吧 被變成
可以使用下面的方法來轉換為小寫
// 呼叫
htmlTxt = convert(htmlTxt );
// 這個方法可以把標籤內的大寫字元變小寫
function convert(str) {
var result = str.replace( /<(\/?)(\s*)([^\s\>]+)(\s|\>)/gi, tolower );
//首先是以<開頭
//接著可以有一個/,為結束tag的時候
//然後可以有若干個空格。 實際上如果tag名和開頭的<之間有空格的話,IE,包括FF都不會認為這是合法的XML格式。不過為了健壯性還是處理吧。
//然後就是tag的名字,它至少有一個字元,並且不能為空格和>
//然後是空格(在有attribute的情況)或者直接是結束的>
return result;
function tolower() { //內部函式用於轉換為小寫
var arg = arguments;
if (arg.length > 0)
return arg[0].toLowerCase();
}
}