最近做了一个项目,遇到了
[url=http://www.knowsky.com/article.asp?typeid=151]
FireFox
[/url]
和IE脚本不兼容的问题,为此从网上搜集了部分兼容的脚本,另外自己也摸索了一点,原本写在了自己另外一个博客里,现拷过来供大家参考,原文
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#1]
1.window.event兼容脚本
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#2]
2.屏蔽Form提交事件
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#3]
3.获取事件源
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#4]
4.添加事件兼容写法
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#5]
5.Firefox注册innerText写法
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#6]
6.长度
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#7]
7.父控件下的子控件
[/url]
[url=http://onlyaa.com/html/jsjc/20080515/2078.html#8]
8.
Xml
Http
[/url]
1.window.event兼容脚本
function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法
if(document.all) return window.event;
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if((arg0.constructor==Event arg0.constructor ==MouseEvent)
(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){
return arg0;
}
}
func=func.caller;
}
return null;
}
每次用事件之前Firefox都需要用getEvent()获取一下,否则就是空
2.屏蔽Form提交事件
event.returnValue=false;// for IE
evt.preventDefault();//for firefox
3.获取事件源
var source=event.srcElement //IE
var source=event.target //firefox
4.添加事件兼容写法
function addEvent(oElement,sEvent,func){
if (oElement.attachEvent){
oElement.attachEvent(sEvent,func);
}
else{
sEvent=sEvent.substring(2,sEvent.length);
oElement.addEventListener(sEvent,func,false);
}
}
用法:addEvent(window,"onload",Start);
5.Firefox注册innerText写法
//注册firefox innerText
HTMLElement.prototype.__defineGetter__("innerText",
function(){
var anyString = "";
var childS = this.childNodes;
for(var i=0; i if(childS[1i].nodeType==1)
anyString += childS[1i].tagName=="BR" ? '\n' : childS[1i].innerText;
else if(childS[1i].nodeType==3)
anyString += childS[1i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
); [/1i][/1i][/1i][/1i][/1i]
6.长度:FireFox长度必须加“px”,IE无所谓
7.父控件下的子控件:IE是“children”,FireFox是“childNodes”
8.XmlHttp
在IE中,XmlHttp.send(content)方法的content可以为空,而firefox则不能为空,应该用send(" "),否则会出现411错误
分享到:
相关推荐
Firefox浏览器不兼容的JS脚本,大概列出了我们经常用到的的js脚本在Firefox和IE中的区别
js放大缩小拖拽图片(兼容IE、火狐)的js脚本实例
讲解IE 和 Firefox 浏览器 JavaScrip脚本兼容的应用。包括函数、属性、方法的讲解。适合IE与Firefox的通脚本。
1. 解压 PDF前端预览功能.zip 压缩包,复制到网站开发目录; 2. 调用方式:window.open("Scripts/lib/PDF/web/viewer.... 3. 能支持多种浏览,火狐、IE、谷歌、360等,能支持本地文件直接浏览。
对于经常用js的朋友,有时候一段脚本并不是两个浏览器都兼容的,下面一些对ie和firefox都兼容的一些代码,大家可以学习下。
兼容多浏览器的JavaScript脚本,以JS+FLASH的形式实现复制内容到剪贴板
本文是脚本之家小编日常整理些关于js兼容性问题,及IE与Firefox等常用浏览器的兼容性分析,对js浏览器兼容性相关知识感兴趣的朋友一起学习吧
window.event兼容脚本 1.2.屏蔽Form提交事件 3.获取事件源 4.添加事件兼容写法 5.Firefox注册innerText写法 6.长度 7.父控件下的子控件 8.XmlHttp
作为一个Web前端工作者,你是否在工作中常被浏览器兼容性问题所困惑.例如Css样式? 明明在 IE浏览器里显示一切正常的网页.到了FireFox或谷歌浏览器中却乱作一团.或许你在使用JavaScript和Dom编写网页脚本时,也...
Greasemonkey是Firefox的用户脚本管理器。 用户脚本是小型浏览器扩展,可让您自定义Web浏览体验。
这一Netscape 4 DOM是革新的尽头,它只被Netscape 4支持,并且在由Netscape代码基础上扩展而来的Mozilla和Firefox浏览器中也被抛弃了。对Netscape 4 DOM的介绍也从本书的这一版本中删除掉了。 本章的大部分内容介绍...
js firefox下兼容ie的dom的实现方法小结。利用我们为了兼容多浏览器写出更好的效果代码
下面是兼容IE和FF的js脚本做法和分解(部分选自网上,经本人整理),希望对大家有帮助。 .以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox //window.event IE:有window.event对象 FF:没有...
段代码经过测试,支持ie和ff是个不错的代码,并修正了错误,希望大家先运行测试下
代码如下: Boolean(window.console && window.console.firebug) 于是,为了方便在没有启用firebug的情况下避免脚本错误,可以在脚本最前面加入以下语句手工创建空的console对象以作兼容。 代码如下: if (!window....
它允许您使用外部Javascript脚本来操纵网页:打开网页,单击链接,修改内容...进行功能测试,页面自动化,网络监控,屏幕捕获等非常有用。 该工具类似于 ,但它运行的是Gecko而不是Webkit,并且在使用Firefox 56+...