[英]how to detect msie less than 10?
可能有很多問題和答案,但我找不到它確實是檢測低於 10 的 Internet Explorer 版本的最佳、最快和最簡單的方法。
那么,如何檢測小於 10 的 Internet Explorer?
沒有比下面列出的解決方案更快、更短的解決方案。
var IElt10=0/*@cc_on@if(@_jscript_version<10)1@end@*/;
如果瀏覽器大於 10,上面的解決方案會將變量 IElt10 的值設置為 0(在 if 語句中評估為 false),如果瀏覽器小於 10(在 if 語句中評估為 true)比 10. 這將允許您使用上面的代碼執行以下操作:
var IElt10=0/*@cc_on@if(@_jscript_version<10)1@end@*/;
if (IElt10){
alert("You are using a version of internet explorer less than 10");
} else {
alert("You're not using a version of internet explorer less than 10");
}
它基於條件注釋工作。 由於條件注釋仍然是注釋,因此大多數(如果不是全部)縮小器不會檢測到條件注釋很重要,而將其與其余注釋一起丟棄。 解決這個問題的一個簡單方法是簡單地將 IElt10 的值放在類似於 alert 的東西中,如下所示:
var IElt10=alert(0/*@cc_on@if(@_jscript_version<10)1@end@*/);
if (IElt10){
alert("You are using a version of internet explorer less than 10");
} else {
alert("You're not using a version of internet explorer less than 10");
}
然后,您可以縮小代碼。 並且,在縮小后的代碼中,找到警報,並用原始表達式替換整個警報語句(即整個警報(0))。 例如:
alert(0)?alert("You are using a version of internet explorer less than 10"):alert("You're not using a version of internet explorer less than 10")
現在,將alert(0)
替換為0/ @cc_on@if(@_jscript_version<10)1@end@ /
,如下所示。
0/*@cc_on@if(@_jscript_version<10)1@end@*/?alert("You are using a version of internet explorer less than 10"):alert("You're not using a version of internet explorer less than 10")
而且,wala:你比 minifier 更聰明,所以現在你有工作的、縮小的代碼。
您可以在瀏覽器中測試用戶代理字符串,但現在不鼓勵檢測您的 Web 應用程序所需的特定功能。 查看像Modernizr這樣的框架,它會讓你更輕松。 如果您真的想檢測 IE <10,則 UA 字符串中有“MSIE”,后跟一個版本,例如“MSIE 9.0”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.