Javascript <;框架集>;对象在IE 8中有时不可访问
我有一个有两个子框架的框架集Javascript <;框架集>;对象在IE 8中有时不可访问,javascript,html,internet-explorer,frames,frameset,Javascript,Html,Internet Explorer,Frames,Frameset,我有一个有两个子框架的框架集 我将frame1.htm用作标题,每次在frame2.htm中更改内容时,我都会动态更改其大小 我使用parent.document.getElementsByTagName(“frameset”)[0]更改frame1.htm的大小 一切正常,但有时parent.document.getElementsByTagName(“框架集”)[0]不再可用,它为空或不是对象。这个问题的原因是什么 如何使用JavaScript函数?可能是DOM没有完全加载导致了问题。您
我将frame1.htm
用作标题,每次在frame2.htm
中更改内容时,我都会动态更改其大小
我使用parent.document.getElementsByTagName(“frameset”)[0]更改frame1.htm
的大小代码>
一切正常,但有时parent.document.getElementsByTagName(“框架集”)[0]
不再可用,它为空或不是对象。这个问题的原因是什么 如何使用JavaScript函数?可能是DOM没有完全加载导致了问题。您应该确保函数在对象完全加载后执行
我使用下面的代码进行测试,它在IE 8中运行良好,您可以检查它:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<frameset rows="241px,*" id="header_fr">
<frame src="frame1.htm" />
<frame src="frame2.htm" />
</frameset>
</html>
frame1.htm
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body style="background-color:aquamarine">
111
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body style="background-color:burlywood">
222
<script>
parent.document.getElementsByTagName("frameset")[0].rows = 40 + ",*";
</script>
</body>
</html>
111
frame2.htm
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body style="background-color:aquamarine">
111
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body style="background-color:burlywood">
222
<script>
parent.document.getElementsByTagName("frameset")[0].rows = 40 + ",*";
</script>
</body>
</html>
222
parent.document.getElementsByTagName(“框架集”)[0]。行数=40+“,*”;
在frame2.htm
中更改动态内容是否可能导致DOM在parent.htm
中重新排序?如果这是真的,我如何检查何时完成重新加载?这取决于如何加载动态内容:是重新加载整个页面还是仅重新加载更改的部分。此外,您可以使用window.onload
检查DOM是否准备就绪。当整个页面加载时,该函数将被激发。有关更多信息,请参阅。