3

iframe を含むページを作成しています。私の目的は、iframe コンテンツの先頭に追加する JavaScript を作成することです。

しかし、iframe.contentDocument が null であることを示すエラーが常に発生します。

メインページのコード

<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>
4

2 に答える 2

2

試してみることをお勧めします

ifrm.contentWindow.document.getElementById("id")
于 2012-12-04T16:51:02.080 に答える
0

次のようにメイン ウィンドウで行うように、フレーム ウィンドウ名を使用して要素を作成します。

ContentFrame.document...

つまり、ウィンドウ名にアクセスします。

さらに、iframe ウィンドウには、id 値が「id」に等しい要素がありません。

于 2012-12-04T16:48:49.963 に答える