日期:2014-05-20  浏览次数:20769 次

javascript IE通过,火狐,google浏览器不过
主页

<frameset name="myFrame" cols="199,*" frameborder="no" border="1" framespacing="0">

<frame src="1.html" name="leftFrame" frameborder="1" noresize="noresize" id="leftFrame" scrolling="no">
<frame src="2.html" name="mainFrame" frameborder="1" noresize="noresize" id="midFrame" scrolling="no">

</frameset>

1.html

<body>
<span id="names"> html</span>
</body>

2.html

<body>
<a onclick="on()">测试</a>
<script>
function on(){

var namess = window.parent.leftFrame.document.getElementById("names").innerHTML="ok";
alert(namess);
}
</script>
</body>

点击测试时IE弹出OK 
goolge浏览器无反映提示Cannot call method 'getElementById' of undefined


------解决方案--------------------
<span id="names" name="names">
然后var namess = window.parent.leftFrame.document.getElementByName"names".innerHTML="OK"
看看这样行么
------解决方案--------------------
多浏览器支持需要严格遵循W3C标准的,而且一些新的特性还有不一样。火狐自己的版本3.0和3.5就有些特性不一样,在IE下,getElementById可以,但是在火狐下就不行了,getElementByName在不知道什么的情况下也不好用,我通常都是getObject,getElementsByName尝试着用。看清楚是getElementsByName。有些控件的属性写的位置不一样,在火狐下也会有问题,比如checkbox控件,ID属性如果写在最后面,在火狐下是取不到的。
其他的问题也有不少。