多瀏覽器判斷,切換及使用

總結:對於國內瀏覽器,建議支持IE11以上版本,這種情況下,只需兼容IE,chrome兩種信息


查看瀏覽器UA(user-agent):

    https://www.whoishostingthis.com/tools/user-agent/


瀏覽器的內核是分爲兩個部分的,一是渲染引擎,另一個是JS引擎。現在JS引擎比較獨立,內核更加傾向於說渲染引擎。

1、Trident內核:代表作品是IE,因IE捆綁在Windows中,所以佔有極高的份額,又稱爲IE內核或MSHTML,此內核只能用於Windows平臺,且不是開源的。

    代表作品還有騰訊、Maxthon(遨遊)、360瀏覽器等。但由於市場份額比較大,曾經出現脫離了W3C標準的時候,同時IE版本比較多,

    存在很多的兼容性問題。

2、Gecko內核:代表作品是Firefox,即火狐瀏覽器。因火狐是最多的用戶,故常被稱爲firefox內核它是開源的,最大優勢是跨平臺,在Microsoft Windows、Linux、MacOs X等主

  要操作系統中使用。

   Mozilla是網景公司在第一次瀏覽器大戰敗給微軟之後創建的。有興趣的同學可以瞭解一下瀏覽器大戰

3、Webkit內核:代表作品是Safari、曾經的Chrome,是開源的項目。

4、Presto內核:代表作品是Opera,Presto是由Opera Software開發的瀏覽器排版引擎,它是世界公認最快的渲染速度的引擎。在13年之後,Opera宣佈加入谷歌陣營,棄用了

   Presto 

5、Blink內核:由Google和Opera Software開發的瀏覽器排版引擎,2013年4月發佈。現在Chrome內核是Blink。谷歌還開發了自己的JS引擎,V8,使JS運行速度極大地提高了


瀏覽器內核:

Trident

AppleWebKit


瀏覽器內核切換:

rendrer:

我們只需要在網頁頭部添加name屬性爲renderer的<meta>標籤即可。

<meta name=”renderer” content=”webkit”>

該meta標籤的content屬性用於指定渲染內核的名稱,例如webkit(WebKit內核)、ie-stand(IE內核-標準模式)、ie-comp(IE內核-兼容模式)。

我們也可以同時指定多個內核名稱,之間以符號"|"進行分隔,此時瀏覽器將會按照從左到右的先後順序選擇其具備的渲染內核來處理當前網頁。

原文:

http://www.365mini.com/page/renderer-meta.htm

<meta http-equiv=”X-UA-Compatible” content=”IE=Edge,chrome=1″ >

這樣寫可以達到的效果是如果安裝了GCF,則使用GCF來渲染頁面,如果沒有安裝GCF,則使用最高版本的IE內核進行渲染。

X-UA-Compatible:這是個是IE8的專用標記,用來指定IE8瀏覽器去模擬某個特定版本的IE瀏覽器的渲染方式(比如人見人煩的IE6),以此來解決部分兼容問題。

詳細的介紹可以參考MSDN的文檔。

http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx

可是這裏有一個chrome,難道IE也可以模擬chrome?

事實上,情況是谷歌做了個Google Chrome Frame(谷歌內嵌瀏覽器框架GCF)。這個插件可以讓用戶的IE瀏覽器外不變,但用戶在瀏覽網頁時,實際上使用的是Google Chrome瀏覽器內核,而且支持IE6、7、8等多個版本的IE瀏覽器。

詳細的介紹可以參考谷歌的文檔:Chrome Frame: Developer Guide

http://www.chromium.org/developers/how-tos/chrome-frame-getting-started

關於在apache和iis中的控制辦法可以參考上面谷歌這個文檔裏的方法。

原文:

http://blog.csdn.net/bingqingsuimeng/article/details/44176233

360 v9:

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Doc:

http://bbs.360.cn/forum.php?mod=viewthread&tid=14294828&page=1#pid98784854


IE v11.248:

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; gdn/adcp; rv:11.0) like Gecko


Chrome v63.0.3239.132

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36


搜狗 v7.5.5.27282

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0

QQ瀏覽器:

Doc:

http://browser.qq.com/faq/#/detail/36


下面這些,是網上的一些答案,但是親測不全對

其他鏈接:https://segmentfault.com/a/1190000004493157

function browerCheck(){

var userAgent = window.navigator.userAgent;

        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器  

        var is360 = userAgent.indexOf('360'); // 判斷是否爲360瀏覽器

        var isSougou = userAgent.toLowerCase().indexOf('se 2.x')>-1; // 判斷是否爲搜狗瀏覽器

    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器  

var isGoogle = userAgent.indexOf("Chrome") > -1; //判斷是否IE<11瀏覽器  

var rstStatus = false;

//IE瀏覽器

if ( !isIE11 ) {

if( isIE ) {

var version = userAgent.match(/MSIE ([\d.]+)/)[1];

if( version < 11) {

rstStatus = true;

modalInfo("當前IE瀏覽器版本低於IE11");

}

} else if( !isGoogle ) {

rstStatus = true;

modalInfo("當前瀏覽器非IE瀏覽器或Google瀏覽器");

}

}

if(is360 || isSougou) {

rstStatus = true;

modalInfo("當前瀏覽器非IE瀏覽器或Google瀏覽器");

}

return rstStatus;

};


// UC:navigator.userAgent.indexOf('UCBrowser') > -1
//是否QQ
isQQ: function() {
var ua = navigator.userAgent.toLowerCase();
return !!ua.match(/mqqbrowser|qzone|qqbrowser/i);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章