我在 Chrome 和 firefox 上有这个问题,函数crse_FrameExists()中的window.frames.length总是返回零,而实际上它应该返回值 3 和 true 才能继续。我在 IE9 上没有问题。有谁知道为什么会这样。任何解决方法都会很有用...谢谢,下面的代码片段:
alert(window.frames.length);
在 IE 中返回 0 假设为 3
我在 Chrome 和 firefox 上有这个问题,函数crse_FrameExists()中的window.frames.length总是返回零,而实际上它应该返回值 3 和 true 才能继续。我在 IE9 上没有问题。有谁知道为什么会这样。任何解决方法都会很有用...谢谢,下面的代码片段:
alert(window.frames.length);
在 IE 中返回 0 假设为 3
将您frameset
的放在head
或 中是违法的body
。
把它直接放在head
(不带body
)之后,你会没事的。
例如 :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script>
function crse_FrameExists(frameName){
for (i = 0; i < window.frames.length; i++) {
if (window.frames[i].name == frameName) return(true);
}
return(false);
}
window.onload=function(){
alert("crse_FrameExists('fra_header'):" + crse_FrameExists('fra_header') );
};
</script>
</head>
<frameset id="Nav4mainFrameset" framespacing="0" border="false" frameborder="0" rows="76,*">
<frame name="fra_minimain" id="fra_minimain" scrolling="no" noresize src="index2.html">
<frameset cols="188,*">
<frame name="fra_header" id="fra_header" scrolling="no" noresize src="index2.html">
<frame name="fra_content" id="fra_content" scrolling="auto" noresize src="index2.html">
</frameset>
</frameset>
</html>
不要忘记使用http://
而不是file://
为您的测试打开您的页面,因为 Chrome 的安全模型将每个文件视为一个域。
并且不要放入for="window" event="onload()"
您的脚本元素:这不是规范化的,并且不适用于非 MS 浏览器。您必须像我的示例中那样使用标准的加载解决方案。