1

これは、私が調べたすべてのものに従って機能するはずですが、そうではありません。

ドキュメントを含むhtmlがあります。アクセスしたい特定の要素を含むdivがあります。

<li><a href="FAQ.html#" target="page" id="Faq">FAQ</a></li>

HTML ドキュメントには、FAQ.html を含む iframe も含まれています。これには、次のロードアップ コードがあります。

<script>
function loaded() {
    parent.document.getElementById("Faq").style.color = "green";}
</script>

しかし、何も起こりません。私は何を間違っていますか?エラー コンソールには、私の分析を容易にするものは何も報告されません。

編集:これが基本的な概念です。

https://dl.dropbox.com/u/32831239/Screenshots/htmlstructure.png

(残念ながら、現在、stackoverflow では画像を投稿できません)

左の div はナビゲーション バーとして機能する必要があります。ページの読み込み時に、li エントリは色 (緑など) でマークされます。

4

3 に答える 3

0
 <iframe src="test1.html" 
 style="float: right; 
 width: 260px; height: 130px; 
 margin-left: 12px; border: 1px solid black;" 
 name="#boogiejack">
Alternative Content
</iframe>

Test1.htmlコンテンツ

<li><a href="#" target="_new" id="Faq" onClick="javascript:loaded()">FAQ</a></li>
<script type="text/javascript">
function loaded() {
document.getElementById("Faq").style.color = "green";}
</script>
于 2012-11-17T12:07:27.633 に答える
0

あなたはあなたの親で以下を使うことができます

var iframe = document.createElement("iframe");
iframe.src = urlToYourIframe;

// if this is IE then use attachEvent
if (iframe.attachEvent){

    iframe.attachEvent("onload", function(){
        parent.document.getElementById("Faq").style.color = "green";
    });

} else {

    iframe.onload = function(){
        parent.document.getElementById("Faq").style.color = "green";
    };

}

var el = document.getElementById("iFrameContainer");
el.appendChild(iframe);​
于 2012-11-17T12:49:40.083 に答える
0

呼び出すためonload eventの本体の使用FAQ.htmlloaded function

<html>
<head>
    <script>
        function loaded() {
            alert("Hello !"); //alert to check if this is being invoked.
            parent.document.getElementById("Faq").style.color = "green";
        }
    </script>
</head>
<body onload="loaded();" >
...
</body>
</html>

または、機能を削除するだけです(no need to use body onload event)

<script>            
   parent.document.getElementById("Faq").style.color = "green";
</script>
于 2012-11-17T12:42:58.423 に答える