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是否准备就绪。当整个页面加载时,该函数将被激发。有关更多信息,请参阅。