导航:首页 > 编程语言 > js判断浏览器支持事件

js判断浏览器支持事件

发布时间:2025-08-22 06:31:20

js判断是否是IE浏览器的几种方法

前几天在网上看到一个技术牛人写的世界上判断是否IE浏览器之最短的js代码,如下:<scriptif(!+[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)

⑵ JS捕获关闭浏览器事件之chrome浏览器真支持onbeforeunload事件吗

这个谷歌浏览器是支持的,不过你要注意不要试图用addEventListener或attachEvent绑定这两个事件,浏览器不兼容。

代码如下:

window.onbeforeunload = function()

{

return false;

}

不过这个浏览器不怎么兼容国内的网站,建议换个同样可以支持这个事件的浏览器。

⑶ js区分浏览器页面是刷新还是关闭

页面加载时只执行onload
页面关闭时只执行onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。

经过验证我得出的结论是:

//对于ie,谷歌,360:

//页面加载时只执行onload
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。

//对于火狐:

//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
那么回归正题,到底怎样判断浏览器是关闭还是刷新?我按照网上的各种说法实验千百遍,都未成功,其中各种说法如下:

window.onbeforeunload=function()//author:meizz
{
varn=window.event.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue="";//这里可以放置你想做的操作代码
}else
{
alert("是刷新而非关闭");
}
}
window.onbeforeunload=function()//author:meizz
{
varn=window.event.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue="";//这里可以放置你想做的操作代码
}else
{
alert("是刷新而非关闭");
}
}

⑷ js怎么写提示用户升级浏览器的代码

判断当前浏览器的版本,如果是IE较低版本,就跳转到一个提示浏览器升级的页面专。

直接用js体验不好,属也不好看。


具体的代码

if((!to3d())||document.documentMode==10||document.documentMode==11)
{
window.location="../error.html";
}


这段代码检测了浏览器是不是支持3d这个属性,然后检测了是不是IE10和IE11。然后跳转到另外一个网页。你也可以直接简单粗暴的document.documentMode <11,就可以屏蔽版本低于IE11的浏览器了。


不用担心其他的如FireFox或者Chrome,因为这段代码在这两个浏览器下是没有这个属性的。

阅读全文

与js判断浏览器支持事件相关的资料

热点内容
vss数据库 浏览:854
js日期加零 浏览:34
互盾数据恢复怎么收费 浏览:854
ps2020载入笔刷看不到文件 浏览:627
迅捷pdf转换器里有个文件卸载不了 浏览:478
数控编程x2000什么意思 浏览:731
关于计算机网络基础的 浏览:641
1kb文件夹快捷方式病毒专杀工具 浏览:755
指纹机管理者密码 浏览:624
ip网络摄像头监控软件安卓 浏览:899
如何添加一个aspx文件 浏览:767
redhat修改密码 浏览:705
编程猫从哪里开始学 浏览:980
北京市文件夹加密软件哪个好 浏览:270
大学注解哪个版本好 浏览:476
js判断浏览器支持事件 浏览:563
网络电缆掉了不知道在哪怎么办 浏览:691
碧蓝航线文件夹 浏览:397
java数组转换成枚举 浏览:419
怎么看自己爱奇艺账号密码 浏览:559

友情链接