關於IE和非IE瀏覽器的一些差異筆記
阿新 • • 發佈:2020-08-26
區別瀏覽器
// 瀏覽器判斷(vue定義函式方法) JudgeBroswer: function () { var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.indexOf("compatible") > -1 && (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("msie") > -1)) { return "IE"; } else { return "others"; } },
值得注意的是:navigator.userAgent.toLowerCase();能夠獲取各個瀏覽器的資訊資訊,但是資訊裡面包含了預設瀏覽器資訊,例如:"mozilla/5.0 (compatible; msie 10.0; windows nt 6.1; wow64; trident/6.0; slcc2; .net clr 2.0.50727; .net clr 3.5.30729; .net clr 3.0.30729; media center pc 6.0; .net4.0c; .net4.0e)",“mozilla/5.0 ”表示的是預設瀏覽器的資訊,裡面的“msie 10.0”才是表示當前版本的IE瀏覽器資訊。
各部分功能差異
1.關於滾動條的差異:
以jq為基礎
if ("IE" == _this.JudgeBroswer()) {
HValue = $("#CBRFTextID")[0].scrollHeight; // IE中獲取滾動條的高度使用的是scrollHeight
}
else{
HValue = $("#CBRFTextID")[0].scrollTopMax; // 非IE下,可以使用ScrollTop(),但是ScrollTop()主要是用來設計滾動條的高度,並且獲取滾動條能夠滑動的高度,一般情況下,是滑動到底部能夠獲取滾動條的高度(滑動高度+頁面本身高度),所以沒必要做滾動底部的操作,所以這裡使用了scrollTopMax
}
2.關於css樣式中textarea自動換行差異:
word-break:break-all; /* 非IE下textarea自動換成*/ word-wrap : break-word; /* 非IE下textarea自動換成*/
3.待續...
、、