gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:11:31 25 4
gpt4 key购买 nike

我有一个 wrapperPage.html<iframe class="header"<iframe class="pageBody" .在 header有一个链接,<a class="clearLink" , 单击后应清除 pageBody 的内容.

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

请注意headerpageBody每个都是从不同的包含文件加载的。

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>

最佳答案

尝试使用 Channel messaging

wrapperPage.html

<body>
<div class=non-floater>
<iframe class="header" src="header.html"></iframe>
<iframe class="pageBody" src="pageBody.html" />
</div>
<script>
var channel = new MessageChannel();
var header = $(".header")[0].contentWindow;
var pageBody = $(".pageBody")[0].contentWindow;
header.onload = function() {
this.postMessage("","*", [channel.port2])
};

channel.port1.onmessage = function(e) {
if (e.data === "clicked") {
$(pageBody.document.body).html("")
}
}
</script>
</body>

header.html

<body>
<a class="clearLink" href="#">Navigation Button</a>
<script>
var port;

onmessage = function(e) {
port = e.ports[0];
}

$(".clearLink").on("click", function(e) {
port.postMessage("clicked");
});
</script>
</body>

关于javascript - 如何从另一个 iFrame 中清除 iFrame 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com