就是一個(gè)瀏覽器標(biāo)識(shí)而已。是因?yàn)閏hrome模仿蘋果WebKit標(biāo)識(shí)讓網(wǎng)站識(shí)別以獲得訪問更加精湛的頁面。雖然帶有apple,但蘋果本身份額很小。chrome里面的APPLEWebKit標(biāo)識(shí)一直沒去掉。WebKit是Mac OS X v10.3及以上版本所包含的軟件框架(對(duì)v10.2.7及以上版本也可通過軟件更新獲取)。同時(shí),WebKit也是Mac OS X的Safari網(wǎng)頁瀏覽器的基礎(chǔ)。WebKit是一個(gè)開源項(xiàng)目,主要由KDE的KHTML修改而來并且包含了一些來自蘋果公司的一些組件。
不同瀏覽器返回的結(jié)果如下(所以返回的結(jié)果判斷還是準(zhǔn)確的):
IE(8-10)
u_agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.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)
Chrome
u_agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Chrome(115瀏覽器,內(nèi)核也是Chrome的)
u_agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36
Safari
u_agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
2016-07-13
navigator的信息可以很容易地被用戶修改,所以JavaScript讀取的值不一定是正確的。初學(xué)者為了針對(duì)不同瀏覽器編寫不同的代碼,喜歡用if判斷瀏覽器版本,例如:
var width;
if (getIEVersion(navigator.userAgent) < 9) { ? ?width = document.body.clientWidth;
} else { ? ?width = window.innerWidth;
}
但這樣既可能判斷不準(zhǔn)確,也很難維護(hù)代碼。正確的方法是充分利用JavaScript對(duì)不存在屬性返回undefined的特性,直接用短路運(yùn)算符||計(jì)算:
var width = window.innerWidth || document.body.clientWidth;
2016-07-13
首先,問題的初衷是為了知道是那種瀏覽器。所以,為什么會(huì)去改動(dòng)返回的內(nèi)容呢?(沒意義),
然后不同瀏覽器返回的結(jié)果是不一樣的,為什么GOOGLE瀏覽器返回的會(huì)有safi的標(biāo)識(shí)呢?
就是一個(gè)瀏覽器標(biāo)識(shí)而已。是因?yàn)閏hrome模仿蘋果WebKit標(biāo)識(shí)讓網(wǎng)站識(shí)別以獲得訪問更加精湛的頁面。雖然帶有apple,但蘋果本身份額很小。chrome里面的APPLEWebKit標(biāo)識(shí)一直沒去掉。WebKit是Mac OS X v10.3及以上版本所包含的軟件框架(對(duì)v10.2.7及以上版本也可通過軟件更新獲取)。同時(shí),WebKit也是Mac OS X的Safari網(wǎng)頁瀏覽器的基礎(chǔ)。WebKit是一個(gè)開源項(xiàng)目,主要由KDE的KHTML修改而來并且包含了一些來自蘋果公司的一些組件。
不同瀏覽器返回的結(jié)果如下(所以返回的結(jié)果判斷還是準(zhǔn)確的):
IE(8-10)
u_agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.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)
Chrome
u_agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Chrome(115瀏覽器,內(nèi)核也是Chrome的)
u_agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36
Safari
u_agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2