发布于 2016-08-21 06:47:05 | 116 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Firefox 浏览器

firefox 即 火狐浏览器 。Mozilla Firefox,中文名通常称为“火狐”或“火狐浏览器”,是一个开源网页浏览器,使用Gecko引擎(非ie内核),支持多种操作系统如Windows、Mac和linux。Firefox由Mozilla基金会与社区数百个志愿者以GPL/LGPL/MPL三种授权方式发布


偶然发现之前写的事件模块在Firefox5中无法触发A的默认行为了。IE/Opera/Firefox5中A具有click方法,因此模拟点击直接调用click方法即可。
而标准的事件触发可以使用dispatchEvent方法。但现在FF5无法触发了A的默认行为了。如下
 
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Firefox5链接A无法实现模拟点击bug</title> 
</head> 
<body> 
<a id="a1" href="http://mail.sina.com.cn">新浪邮箱</a> 
</body> 
<script type="text/javascript"> 
function dispatch(el, type){ 
try{ 
var evt = document.createEvent('Event'); 
evt.initEvent(type,true,true); 
el.dispatchEvent(evt); 
}catch(e){alert(e)}; 
} 
var a1 = document.getElementById('a1'); 
dispatch(a1, 'click'); 
</script> 
</html> 

链接A,使用dispatchEvent模拟点击。测试在IE9/Safari/Chrome/Opera中均跳到了mail.sina.com.cn。唯独Firefox5没有跳过去。
由于Firefox5中给所有元素都添加了click方法(Firefox3没有),因此用click方法测试下
 
<a id="a1" href="http://mail.sina.com.cn">新浪邮箱</a> 
<script> 
var a1 = document.getElementById('a1'); 
a1.click(); 
</script> 

测试还是没有跳到mail.sina.com.cn。
可见 Firefox中两种方式都不能使其触发链接A的默认行为。可能是Firefox安全机制禁止了客户端程序员模拟A跳转,呃..
注:貘用FF3测试效果同FF5。感谢..

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务