JAVASCRIPT 浏览器兼容性问题及解决方案列表

标签: javascript 浏览器 兼容性 | 发表时间:2013-05-28 18:57 | 作者:
出处:http://www.iteye.com

 

原文链接 http://www.javaarch.net/jiagoushi/611.htm

 

JAVASCRIPT 浏览器兼容性问题及解决方案列表
(1)获取HTML元素
只兼容IE:
document.all.hello 
hello 
兼容所有: 
document.getElementById(“hello ”) 以ID来访问对象,且一个ID在页面中必须是唯一document.getElementsByTagName(“div”)[0] 以标签名来访问对象
document.getElementsByName("inputName")[1]

(2)获取FORM表单元素
只兼容IE: 
document.formname.itemname  
兼容所有:
document.forms[“formName”].elements[“itemname”]。
document.forms[i].elements[“itemname”] 

(3)设置CSS
只兼容FireFox: 
obj.setAttribute(style,color:green) 
兼容所有:
document.getElementById("banana").className
 document.getElementById("banana").style.color 
document.getElementById("banana").onclick document.getElementById("banana").class="fruit" document.getElementById("banana").style.color="blue" document.getElementById("banana").onclick= function (){alert("我是香蕉")} 

(4)设置长宽高
只兼容IE: 
obj.style.height = imgObj.height  
兼容所有:
obj.style.height = imgObj.height + 'px';

(5)obj.innerText

只兼容IE: 
obj.innerText= "myText";
兼容所有:

 if (document.all) {
    obj.innerText = "myText";
}
else {
    obj.textContent = "myText";
}

(6)Firefox下的onload问题 
只兼容IE: 
function over(){ 
alert("页面加载完毕") 
} 
document.body.onload= over 

兼容所有:

window.onload=over

(7)打开窗口
只兼容IE: 
IE中可以通过showModalDialog和showModelessDialog打开模态和非模态窗口
兼容所有:
直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要传递参数,可以使用frame或者iframe。


(8)获取Frame对象

只兼容IE:
var frame1 = window.testFrame
兼容所有:
window.top.document.getElementById("frameId")来访问frame标签
并且可以通过window.top.document.getElementById("testFrame").src = 'xx.htm'来切换frame的内容
也都可以通过window.top.frameName.location = 'xx.htm'来切换frame的内容

(9)变量名与某 HTML 对象 id 相同的问题

IE中对象 对象ID不能与HTML对象的ID同名。而Firefox可以。

兼容所有:
在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。
  此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [javascript 浏览器 兼容性] 推荐:

JAVASCRIPT 浏览器兼容性问题及解决方案列表

- - ITeye博客
原文链接 http://www.javaarch.net/jiagoushi/611.htm. 如果需要传递参数,可以使用frame或者iframe. 兼容所有: 在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行. 此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误.

AngularJS的IE浏览器兼容性

- - JavaScript - Web前端 - ITeye博客
        如果你要让你的AngularJS应用兼容IE8和IE8以下的版本的话,你需要做一些特殊处理. 要让你的AngularJS应用在IE中正常运行你必须:.     a.确保JSON字符串能被正常解析(IE7需要),你可以使用JSON2或者JSON3来实现.     b.不能使用自定义的元素标签,如(你只能使用属性的形式,如
).

CSS对浏览器的兼容性

- - CSDN博客Web前端推荐文章
从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于浏览器的兼容性问题,请尽量用符合W3C标准格式写代码. 而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声名,并且需要写到页面的最上面. input、br、img等为常用自闭合标签,需要加入“/”进行闭合,例如“”;其他闭合标签需要进行闭合,例如“
....
”.

12款浏览器兼容性测试工具推荐

- Chloe - cnBeta.COM
对于前端开发工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具.

五大主流浏览器 CSS3 和 HTML5 兼容性大比拼

- jessie - 博客园-梦想天空
  各大主流浏览器对 CSS3 和 HTML5 的支持越来越完善,曾经让多少前端开发人员心碎的IE系也开始拥抱标准. 就在前几天,W3C的 HTML5 社区领袖 Shelley 宣布,HTML5的开发工作已经接近完成,如果进展顺利,HTML5 将在 2012 年正式成为国际标准.   当然,即使标准正式制定了,现代浏览器要普及到大部分用户也是需要一个相当漫长的过程.

移动浏览器HTML5兼容性列表

- 沈蚊 - 前端观察
这个很赞,整理了智能手机和平板中默认浏览器对HTML5和CSS3新技术的支持情况. 多谢 @cnjoel 在twitter的分享. 这个网站的开发者是firt,国外网页开发者. 直接访问吧:http://mobilehtml5.org/. PS:这样分享一个网站貌似有发文章充数的嫌疑. 不过考虑很多人不玩twitter/微博,好东西要让更多人知道吧.

Firefox下的浏览器兼容性检测工具——Compatibility Detector

- mingelz - 携程UED
这里给大家推荐一个Firefox下的浏览器兼容性检测工具——Compatibility Detector. 这个工具对于新手来说是非常不错的一个东东,下面我就简单说下它的优点. 作为一个前端开发者来说,最痛苦的事情之一就是要兼容现在各种五花八门的浏览器,而在实际的调试中这个调试过程又是让人劳心劳力.

常见浏览器兼容性问题与解决方案

- - 浏览器 - 互联网 - ITeye博客
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同. 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大. 解决方案:CSS里 *{margin:0;padding:0;}. 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0.

Selenium Grid跨浏览器-兼容性测试

- - CSDN博客互联网推荐文章
Selenium Grid跨浏览器-兼容性测试. 这里有两台机子,打算这样演示:. 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.168.4.124. 另一台机子启动两个次节点hub,一个次节点浏览器为firefox,另一个浏览器为chrome (系统为windows),ip为:192.168.4.137.

Javascript和CSS浏览器兼容总结

- Keel - ITeye资讯频道
这篇文章重点总结了Javascript和CSS浏览器兼容性问题. document.form.item 问题. 代码中存在 document.formName.item(“itemName”). 这样的语句,不能在FIREFOX下运行. 改用 document.formName.elements["elementName"].