我正在创建一个包含iframe的页面。我的目标是创建一个javascript,它将添加到iframe内容的头部。
但我总是得到错误暗示iframe.contentDocument为空。
主页代码
<html>
<head>
<title>Sample "Hello, World" Application</title>
<script type="text/javascript" >
function sizeFrame() {
try{
var ifrm = document.getElementById("CFrame");
var bt = ifrm.contentDocument.createElement("base");
bt.setAttribute("target", "_parent");
ifrm.contentDocument.getElementsByTagName("head")[0].appendChild(bt);
}
catch (er)
{alert(er);}
}
</script>
</head>
<body>
<div id="sidecontainer">
<iframe id="SFrame" name="SearchFrame" frameborder ="0" width="500" height="100" scrolling="no" src="SearchBox.html"></iframe>
</div>
<div id="content">
<iframe id="CFrame" name="ContentFrame" frameborder="0" height="1000px" width="1000px" onload="sizeFrame()" scrolling="no" src="ContentFrame.html"></iframe>
</div>
</body>
</html>
Iframe ContentFrame.html的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<body>
<div id="input">
test
</div>
</body>
</html>
答案 0 :(得分:2)
我建议你试试
ifrm.contentWindow.document.getElementById("id")
答案 1 :(得分:0)
使用框架窗口名称来创建元素,就像在主窗口中一样,如下所示
ContentFrame.document...
换句话说,访问窗口名称。
此外,您的iframe窗口没有任何id值等于“id”的元素。