如何从另一个iFrame中清除iFrame的内容

如何从另一个iFrame中清除iFrame的内容

wrapperPage.html和一个<iframe class="header"<iframe class="pageBody"。在header有一个链接,<a class="clearLink"点击时应该清除内容pageBody

到目前为止,上述想法的以下实现不起作用。请帮我解决这个问题。

请注意header并且pageBody每个都从不同的包含文件加载。

wrapperPage.html

<div class=non-floater>
    <iframe class="header" src="header.html"></iframe>
    <iframe class="pageBody" src="pageBody.html" /> </div>

header.html:

<script type="text/javascript">
    $(document).ready(function() {
        $(".clearLink").on("click", function() {
            $('.pageBody').contents().find("body").html('');
        });
    });</script><a class="clearLink" href="#">Navigation Button</a>

pageBody.html:

<div class="panel-body">This is the body</div>


明月笑刀无情
浏览 1172回答 2
2回答

墨色风雨

尝试使用频道消息wrapperPage.html<body><div&nbsp;class=non-floater> &nbsp;&nbsp;&nbsp;&nbsp;<iframe&nbsp;class="header"&nbsp;src="header.html"></iframe> &nbsp;&nbsp;&nbsp;&nbsp;<iframe&nbsp;class="pageBody"&nbsp;src="pageBody.html"&nbsp;/>&nbsp;</div><script> &nbsp;&nbsp;var&nbsp;channel&nbsp;=&nbsp;new&nbsp;MessageChannel(); &nbsp;&nbsp;var&nbsp;header&nbsp;=&nbsp;$(".header")[0].contentWindow; &nbsp;&nbsp;var&nbsp;pageBody&nbsp;=&nbsp;$(".pageBody")[0].contentWindow; &nbsp;&nbsp;header.onload&nbsp;=&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;this.postMessage("","*",&nbsp;[channel.port2]) &nbsp;&nbsp;}; &nbsp;&nbsp;channel.port1.onmessage&nbsp;=&nbsp;function(e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(e.data&nbsp;===&nbsp;"clicked")&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(pageBody.document.body).html("") &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;}</script></body>header.html<body><a&nbsp;class="clearLink"&nbsp;href="#">Navigation&nbsp;Button</a><script> &nbsp;&nbsp;var&nbsp;port; &nbsp;&nbsp;onmessage&nbsp;=&nbsp;function(e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;port&nbsp;=&nbsp;e.ports[0]; &nbsp;&nbsp;} &nbsp;&nbsp;$(".clearLink").on("click",&nbsp;function(e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port.postMessage("clicked"); &nbsp;&nbsp;});</script></body>

回首忆惘然

您可以从iFrame获取主窗口的引用,如下所示:&nbsp;Window.Parent引用然后,您可以指定一个事件来捕获主窗口中的触发器或函数(或仅在其他iFrame中)来管理它。例如 :在pageBody.html中编写与自定义事件关联的函数。从header.htmliFrame中的点击功能获取窗口参考。搜索已分配自定义事件的目标元素。点燃活动我希望它可以帮到你。
打开App,查看更多内容
随时随地看视频慕课网APP