前几天在网上看到一个技术牛人写的世界上判断是否IE浏览器之最短的js代码,如下:
<script>
if(!+[1,])alert("这是ie浏览器");
else alert("这不是ie浏览器");
</script>
怎么样,强悍吧。今天在博客园又看到一位朋友总结了其它一些判断方法(实例代码),于是烈火把这些教程转载给大家,期待对您有所帮助:
其实有很多判断的方法,大都是根据浏览器的特性来的。
比如库prototype的方法是:!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) 。就是根据ie支持window.attachEvent添加侦听事件,非ie用window.addEventListener添加侦听事件来判断的。navigator.userAgent.indexOf('Opera') === -1是因为opara浏览器能伪装成ie.如果!!(window.attachEvent )为真,就是ie;反之,如果!window.addEventListener为真,也可以判断为ie.
Ext使用的是!"1"[0],他利用IE无法使用数组下标访问字符串的特性来判断。在ie8下好像有问题。
在!+[1,]还未被发现前,判断ie最短的表达式是 !+"\v1".它利用的是ie不支持垂直制表符的特性。
以前还有一个常用方法是document.all,由于opera浏览器能伪装成ie。可以这样写:!!(document.all && navigator.userAgent.indexOf('Opera') === -1).
还有很多,先记这几条,便于工作时查阅。
1.+[1,]
2.!+"\v1"
3.!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)
4.!!(!window.addEventListener&& navigator.userAgent.indexOf('Opera') === -1)
5.!!(document.all && navigator.userAgent.indexOf('Opera') === -1)
转载地址:
http://www.xker.com/page/e2010/0527/96514.html
分享到:
相关推荐
首先,我们可以从司徒正美的一篇文章中看到一个非常简洁的6字节的判断IE浏览器的代码: ```javascript !!window.attachEvent ``` 这个方法基于IE浏览器支持`window.attachEvent`来添加事件监听器,而非IE浏览器通常...
还有一些利用浏览器bug的检测方式,比如通过比较变量自身与其值是否相等来判断IE浏览器。例如,`v == v`在IE9之前是有效的,但已经被修复。而`!-[1,]`这个巧妙的6字节代码利用了IE对数组length属性的错误处理,可以...
本文将总结几种常用的JS方法,用于判断用户是否正在使用IE浏览器。 1. **检测`addEventListener`与`attachEvent`** 第一种方法基于IE浏览器和其他现代浏览器在事件处理方式上的差异。非IE浏览器支持`...
现在的浏览器大概有好几种,各个人的喜好也不同,所以也就用着不同的浏览器!我们开发的人来说经常要加个判断,要不可能某些功能没法正常使用。要是没加个判断就会给大家带来些麻烦!虽然可能大家的喜好不同!用的系统也...
此外,还有一些非常短小的代码片段可以用来判断IE浏览器,这利用了IE与标准浏览器在处理某些JavaScript特性上的差异。例如: ```javascript var isIE = !+'v1'; ``` 或者 ```javascript var isIE = !-[1,]; ``` ...
在实际代码中,作者提出了几种方法,包括: - 使用`window.event`来获取触发事件的环境信息,并判断页面是关闭还是刷新。 - 利用`onbeforeunload`事件的返回值来进行判断,如果返回值被设置,则一般表示是关闭页面...
此外,对于浏览器检测还存在另外一种方法是使用第三方的JavaScript库,如Modernizr,它在客户端运行,可以更加灵活地检测浏览器的特性支持情况。这样不仅可以判断浏览器类型,还可以检查浏览器是否支持某些HTML5、...
为了更准确地识别IE浏览器,可以考虑以下几种更全面的方法: 3. **使用User Agent字符串** 另一种常见的方法是通过分析用户的User Agent字符串来确定浏览器类型。虽然这种方法可能会受到用户修改User Agent的影响...
如果需要在Google Chrome浏览器中使用上述代码,可能需要做轻微的调整,因为`event.srcElement`在非IE浏览器中可能不会返回正确的元素。使用`event.target`更为兼容: ```html document.onclick = function(){ ...
IE浏览器(Internet Explorer)作为曾经广泛使用的网络浏览器,有时会弹出需要用户手动确认的对话框,如"是否离开此页面"或"下载确认"等。在特定场景下,自动点击这些对话框能提高效率,避免人工干预。以下是对这个...
首先,判断是否为IE浏览器以及具体版本的一种常见方法是利用window对象的ActiveXObject属性。IE浏览器支持ActiveXObject对象,而其他大多数现代浏览器则不支持。因此,可以通过检查ActiveXObject属性的存在性来判断...
代码中,`window.navigator.userAgent.indexOf("MSIE") >= 1`检查是否为IE浏览器,`window.navigator.userAgent.indexOf("Firefox") >= 1`则检查是否为Firefox。如果都不匹配,则认为是其他浏览器。 2. **变量声明*...
如果要更具体地判断IE浏览器的版本,可以采用以下方法: ```javascript var isIE = !!window.ActiveXObject; var isIE6 = isIE && !window.XMLHttpRequest; var isIE8 = isIE && !!document.documentMode; var isIE...
1. JavaScript判断本地文件是否存在的方法主要依赖于特定浏览器的对象模型,如IE中的ActiveXObject,但这种方法在现代浏览器中可能不再兼容,因为它仅限于旧版IE浏览器。 2. 在JavaScript中利用AJAX技术判断服务器...
根据提供的信息,本文将详细介绍如何使用JavaScript完整获取IE浏览器以及其它类型浏览器的信息。这些信息包括浏览器的类型、版本、语言等属性。需要注意的是,代码示例中涉及的属性并非所有浏览器都支持,其中一些...
例如,代码中通过检测`document.all`属性的存在与否来判断是否为IE浏览器,并采用IE专有的`filters`方法来实现图片的淡入淡出动画效果。此外,代码中还使用了CSS hack(如`*padding`),以解决IE6/7的布局问题。 ##...
根据给定的文件信息,我们可以从JavaScript角度来详细探讨判断URL链接有效性的几种方法。 首先,我们来看第一种解决方案,使用了XMLHTTP技术。在JavaScript中,可以通过ActiveXObject来创建一个XMLHTTP对象,进而向...
第二种方法是使用`navigator.userAgent`的`indexOf`方法查找特定字符串,如"MSIE",来判断是否为IE浏览器。需要注意的是,`indexOf`方法返回指定值在调用它字符串中首次出现的位置,如果找不到指定的字符串值,则...