国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中一個奇葩的IE瀏覽器判斷方法

2024-05-06 16:04:11
字體:
來源:轉載
供稿:網友
在寫原生的Javascript的時候,因為IE的JS引擎與標準瀏覽器的JS引擎之間總有那么些差異,所以經常會去判斷是否是IE瀏覽器

記得在網上Down的很多源碼用的最多的一種方式就是:

復制代碼 代碼如下:

var ie = document.all();


這是因為IE瀏覽器的document下有all方法,而所謂的標準瀏覽器卻沒有,所以很長的一段時間,這個是一種非常普遍的方法。
在之后大家開始追求起簡短,就像在這之后一度流行的一種方法:

復制代碼 代碼如下:

var ie = ! + "/v1";


這個是利用IE不支持垂直制表符的特性而判別的,僅僅7個字符已經很讓人震驚了,可是這個記錄被一個俄國人在今年早些的時候打破了,人家只需要6個字符就可以搞定了。
我們暫且不討論這一個字符能夠做什么,但把它看作是一種研究,或者你說他是閑的那啥痛也行(吐槽~)。

復制代碼 代碼如下:

var ie = ! - [1,];


其實它的原理很簡單,[1,]在標準瀏覽器會返回字符串"1",相當于調用[1,].toString,IE則返回"1,"。但是這樣IE與標準都會通過檢測,因此使用負號強制轉換為數字,標準能成功轉換為1,1會在if中自動轉換為true,而IE則轉換為NaN,再自動轉換為false!查看DEMO。
很簡單對吧?肯定會有很多人跟我一樣在想,我怎么就沒想到呢?是啊,我怎么就沒想到呢?(笑~)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 江北区| 晋州市| 新蔡县| 金华市| 鄂托克旗| 凌云县| 乌兰浩特市| 佳木斯市| 锡林郭勒盟| 玉树县| 和平县| 靖安县| 吉安市| 石泉县| 洛阳市| 宝鸡市| 信丰县| 敦化市| 屏山县| 巨野县| 盐源县| 霞浦县| 阿克苏市| 偏关县| 城步| 寿光市| 磴口县| 石楼县| 罗源县| 铅山县| 金乡县| 黄冈市| 元谋县| 岳池县| 安化县| 晋中市| 靖州| 龙井市| 长顺县| 新民市| 石首市|