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

调用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 回答
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 回答