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

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”] less

(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("我是香蕉")} ui

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

(5)obj.innerTexthtm

只兼容IE:
obj.innerText= "myText";
兼容全部:对象

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

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

兼容全部:input

window.onload=overiframe

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

相关文章
相关标签/搜索