精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-05
最后修改:2011-10-05
没招了。。
的确不错的方法 果是IE9呢 返回是什么 能解释一下吗 没有IE9…… |
|
返回顶楼 | |
发表时间:2011-10-05
太恐怖了,IE裡window 跟 document 的關係
|
|
返回顶楼 | |
发表时间:2011-10-05
IE9 Object.prototype.toString.call(window) === "[object Window]"
因此它会在第二个分支就返回true |
|
返回顶楼 | |
发表时间:2011-10-05
我个人觉得JQ的方法好些。
用特异性去判断,可以解决当前问题,但对于后续是未知的。即便可以,也要不断扩充。而且这个不行,可以用instanceof,可以用enum,这些都是保留关键字。 |
|
返回顶楼 | |
发表时间:2011-10-06
icedblog 写道 我个人觉得JQ的方法好些。
用特异性去判断,可以解决当前问题,但对于后续是未知的。即便可以,也要不断扩充。而且这个不行,可以用instanceof,可以用enum,这些都是保留关键字。 后续是可知的,因为对于IE9+以及其他标准浏览器都是使用Object.prototype.toString.call去判定!instanceof是无法解决iframe中的window判定问题,因为那是另一个执行环境。 |
|
返回顶楼 | |
发表时间:2011-10-06
贴答案吧 ...
|
|
返回顶楼 | |
发表时间:2011-10-07
各种牛擦啊!
|
|
返回顶楼 | |
发表时间:2011-10-08
可以这样
function XXX(){ if(-[1,]){ alert("这不是IE浏览器!"); }else{ alert("这是IE浏览器!"); } } |
|
返回顶楼 | |
发表时间:2011-10-08
(function(w){ alert(w === window); })(document); 这样试下 |
|
返回顶楼 | |
发表时间:2011-10-08
function isWindow(obj) { return Object.prototype.toString.call(window) == Object.prototype.toString.call(obj); } |
|
返回顶楼 | |