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

js判断浏览器支持哪些事件

发布时间:2023-03-30 12:56:04

A. 如何用js监听浏览器页面的关闭/刷新事件

首先判断浏览器的抄类型,简便可用navigator.userAgent()获取浏览器的字符串,与浏览器类型做查找即可。
目前对Chrome和firfox区分关闭和刷新成功。
浏览器为firfox时flag为false,Chrome为true。
window.onload(){
window.onunload = function() {
if(flag){
console.log('关闭操作');
}
else {
console.log('刷新操作');
}
};
window.onbeforeunload = function () {
if(!flag){
console.log('关闭操作');
}
else{
console.log('刷新操作');
}
};
}

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

chrome浏览器真的支持onbeforeunload事件:

  1. chrome浏览器版本52.0.2743;

  2. 测试代码如下:

  3. <html>
    <head>
    <title>onbeforeunload</title>
    </head>
    <bodyonbeforeunload="close();">
    <divid="div1">dfdfdf</div>
    </body>
    </html>

    <scripttype='text/javascript'>
    //alert(2);
    functionclose(){
    vardiv1=document.getElementById('div1');
    div1.innerHTML='';
    }
    </script>

    4.运行代码,按 F5 刷新网页的一瞬间可以看到里面的文字变成 1111... 了,证明浏览器已经调用了 onbeforeunload事件;


    总结:虽然浏览器调用onbeforeunload事件,但是无法阻止浏览器关闭

C. 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)

D. 怎样用JS判断各浏览器调用各自的css文件

当然可以了,
在页面里直接这样写就行
<!--[if IE]><link type="text/css" rel="stylesheet" href="style_ie.css" /><![endif]-->

具体的文章如下:
条件注释只能在windows Internet Explorer(以下简称IE)下使用,因此我们可以通过条件注释来为IE添加特别的指令。

通俗点,条件注释就是一些if判断,但这些判断不是在脚本里执行的,而是直接在html代码里执行的,比如:

<!--[if IE]>
这里是正常的html代码
<![endif]-->

1,条件注释的基本结构和HTML的注释(<!-- -->)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。
2,IE将会根据if条件来判断是否如解析普通的页面内容一样解析条件注释里的内容。
3,条件注释使用的是HTML的注释结构,因此他们只能使用在HTML文件里,而不能在CSS文件中使用。

可使用如下代码检测当前IE浏览器的版本(注意:在非IE浏览器中是看不到效果的)

<!--[if IE]>
<h1>您正在使用IE浏览器</h1>
<!--[if IE 5]>
<h2>版本 5</h2>
<![endif]-->
<!--[if IE 5.0]>
<h2>版本 5.0</h2>
<![endif]-->
<!--[if IE 5.5]>
<h2>版本 5.5</h2>
<![endif]-->
<!--[if IE 6]>
<h2>版本 6</h2>
<![endif]-->
<!--[if IE 7]>
<h2>版本 7</h2>
<![endif]-->
<![endif]-->

那如果当前的浏览器是IE,但版本比IE5还低,该怎么办呢,可以使用<!--[if ls IE 5]>,当然,根据条件注释只能在IE5+的环境之下,所以<!--[if ls IE 5]>根本不会被执行。

lte:就是Less than or equal to的简写,也就是小于或等于的意思。

lt :就是Less than的简写,也就是小于的意思。

gte:就是Greater than or equal to的简写,也就是大于或等于的意思。

gt :就是Greater than的简写,也就是大于的意思。

! :就是不等于的意思,跟javascript里的不等于判断符相同

Conditional comments属于CSS hack? 条件判断属于CSS hack吗?

严格地说是属于CSS hack。因为就好象其他真正的css hack一样,它使得我们可以给一些浏览器赋予特殊的样式,再则它不依赖于某个浏览器的BUG来控制另外一个浏览器(的样式)。除此之外,条件判断还能用来做一些超出CSS HACK范围的事情(虽然这种情况很少发生)。

因为条件判断不依赖于某个浏览器的hack,而是一个经过深思熟虑的特色功能,所以我相信它是可以被放心地使用的。当然,其他浏览器也有可能支持条件判断(到目前为止还没有),但是看起来,他们应该不会使用如<!--[if IE]>这样的语法。

应该如何应用条件注释

本文一开始就说明了,因为IE各版本的浏览器对我们制作的WEB标准的页面解释不一样,具体就是对CSS的解释不同,我们为了兼容这些,可运用条件注释来各自定义,最终达到兼容的目的。比如:

<!-- 默认先调用css.css样式表 -->
<link rel="stylesheet" type="text/css" href="css.css" />

<!--[if IE 7]>
<!-- 如果IE浏览器版是7,调用ie7.css样式表 -->
<link rel="stylesheet" type="text/css" href="ie7.css" />
<![endif]-->

<!--[if lte IE 6]>
<!-- 如果IE浏览器版本小于等于6,调用ie.css样式表 -->
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->

这其中就区分了IE7和IE6向下的浏览器对CSS的执行,达到兼容的目的。同时,首行默认的css.css还能与其他非IE浏览器实现兼容。

注意:默认的CSS样式应该位于HTML文档的首行,进行条件注释判断的所有内容必须位于该默认样式之后。

比如如下代码,在IE浏览器下执行显示为红色,而在非IE浏览器下显示为黑色。如果把条件注释判断放在首行,则不能实现。该例题很能说明网页对IE浏览器和非IE浏览器间的兼容性问题解决。

<style type="text/css">
body{
background-color: #000;
}
</style>
<!--[if IE]>
<style type="text/css">
body{
background-color: #F00;
}
</style>
<![endif]-->

同时,有人会试图使用<!--[if !IE]>来定义非IE浏览器下的状况,但注意:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下非单不是执行该条件下的定义,而是当做注释视而不见。

正常就是默认的样式,对IE浏览器需要特殊处理的,才进行条件注释。

E. js ie非ie浏览器的几种判断方法小结

最近在 司徒正美 js 全世界最短的IE浏览器判断代码 一文,看到只有6byte的判断ie与非ie的方法。其代码如下: <script> if(!+[1,])alert("这是ie浏览器"); else alert("这不是ie浏览器");</script> [Ctrl+A 全选 注: 如需引入外部Js需刷新才能执行]其实有很多判断的方法,大都是根据浏览器的特性来的。 比如库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"

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

JS捕获关闭浏览烂闷器事件之onbeforeunload在chrome中是不支持的。
1、window.onbeforeunload()函数主要是用于捕获关闭浏览器事件(饥汪弯包括刷新);
2、window.onunload()函数主要是执行关闭游览器后的动作;陵腊
因为:Chrome在调用 document.write、document.open、document.close 方法以及 "javascipt:" 伪协议时,不会触发 onbeforeunload 事件。

G. 如何判断浏览器是否支持javascript

1
我们新来建立一个.html空文件源,代码如下写入。保存
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="application/javascript" defer="defer" src="1.js"></script>
</head>
<body>
<noscript>
<p>
需要开启JAVA
</p>
</noscript>
</body>
</html>

2
再新建一个新的js空文件,写入如下代码。之后保存。
// JavaScript Document
alert("1111111111");

3
当所有的文件都建立好后,我们来验证写是否有效。
上面的js代码,就是让浏览器显示一个信息框。信息框的显示的内容是1111111111。
如果我们的代码无的话,那么就应该执行了javascript脚本。
这里我们先把测试浏览器全部禁用js,因为现在浏览器都已经支持了javascript.
我们需要先禁用,至于现在浏览器为什么都已经支持了javascript。请大家自己翻阅相关的javascript历史,来查看。
首先是IE浏览器。禁用js

H. Javascript中如何检测一个事件在该浏览器中是否存在运行

可以用变量友敬咐判断,在事件方法执行的开稿核始,设置变量如window.a=1,方法执行完之后window.a=0,这样在这之间有其他事件好纯发生可以通过a得知判断;
如果要实现阻塞,可用while函数或加setInternal方法循环判断a的值。

I. 如何用js来判断 执行了微信右上角的在浏览器中打开事件

通过userAgent判断有无MicroMessenger字段

J. 怎样用JS准确的判断浏览器刷新事件

<局则皮scriptlanguage="javascript">桐差
window.onbeforeunload=function(){
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("这是一个刷新操作而非关闭");
}
}
</script>

阅读全文

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

热点内容
豫剧电影农村片 浏览:26
javaprivate类继承 浏览:487
电脑文件历史记录干什么用 浏览:136
如何去掉文件的只读属性 浏览:403
水沫缘浅的全部作品集下载 浏览:575
免费电影在线观看网站 浏览:697
涨奶挤出来的母乳电影 浏览:897
催眠控制类百合 浏览:13
编程属于哪个发票范围 浏览:207
ipadqq怎么下载群文件 浏览:272
投屏流畅的电影网站 浏览:506
手机书包网 浏览:694
版本的控制 浏览:2
编程中pls什么意思 浏览:891
窗体小程序发送给女生 浏览:219
win10字好模糊 浏览:694
win10宽带用户名和密码是什么 浏览:568
ipad如何下载花瓣邮箱app 浏览:488
红米note版本怎么安装软件 浏览:358
设置图标一样的视频app叫什么 浏览:635

友情链接