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 相同的变量名,以减少错误。

最新文章

  1. PHP设计模式(四)单例模式(Singleton For PHP)
  2. ascii、unicode、utf、gb等编码详解
  3. System系统类常用方法
  4. head标签详细讲解
  5. Keras学习~试用卷积~跑CIFAR-10
  6. Angular $scope和$rootScope事件机制之$emit、$broadcast和$on
  7. 【转】APP被苹果App Store拒绝的N个原因(持续补充)
  8. c++中ifstream读文件的问题(关于eof())
  9. 添加hive默认配置hiverc
  10. ASP.NET 4.0 Webform Bundles 压缩css, js,为什么放到服务器不行
  11. Java多线程——Semaphore信号灯
  12. 为什么很多语言选择在JVM上实现
  13. 字符串处理——strpos()函数
  14. express设置ejs并将后缀改为html
  15. 基于最简单的FFmpeg采样读取内存读写:内存玩家
  16. C#中“类似GridView等控件”的前台显示与后台数据变化之间的关系
  17. java 邮件发送的公共方法
  18. python入门(11)条件判断和循环
  19. 蓝桥杯 黄金连分数(BigDecimal的使用)
  20. LeetCode专题-Python实现之第26题:Remove Duplicates from Sorted Array

热门文章

  1. 常用Jar包下载
  2. Linux 网桥配置命令:brctl
  3. LDAP 中 CN,OU,DC 的含意
  4. idea 编辑时cup飙升解决方案,亲测有效
  5. 转 多线程 闭锁(Latch) 栅栏(CyclicBarrier)
  6. Django模版中的过滤器详细解析 Django filter大全
  7. unity, asset operations
  8. iOS中Storyboard使用要点记录
  9. QSettings 使用实例 当需要在程序关闭时保存”状态“信息
  10. PCIe调试心得_DMA part1