【发布时间】:2019-11-04 06:29:59
【问题描述】:
我需要将我的网站嵌入到另一个网站,但从我的网站中删除页眉和页脚,基本上只显示内容。
iframe 构建良好并将内容加载到页面中,并且使用onload event,我设置了可见性,以便在加载时删除“flashing”。单独在一个 JS 文件中,然后我将删除文档准备好的页眉和页脚,这似乎在可见性开始之前将它们删除。在第一次加载时,一切正常。当您在 iframe 中导航时,单击一个链接,例如,带有正确信息的 window reloads,除了几秒钟外,它会加载页眉和页脚并删除它们。
理想情况下,页眉和页脚根本不应该显示。
onload 事件是带有 iframe 的内联 JS,而在加载 iframe 时会加载文档就绪。
文档就绪代码(外部Js)
if (window.location !== window.parent.location) {
setTimeout(function () {
$('.header').remove();
$('.footer').remove();
}, 500);
}
以及要嵌入到单独域/网站的代码:
<script>
function loadIframe() {
var ifr = document.getElementById("mySite");
ifr.style.height = '75vh';
}
</script>
<iframe style="visibility:hidden;" id="mySite" onload="loadIframe()" class="catalog-frame" src="http://xxxxxxx.com/about" width="100%">
</iframe>
基本上,也许最简单的管理方法是,在 iframe 中更改 URL 时,隐藏内容,然后 onload,再次显示它们,但我无法检测到里面的 URL iframe 即将更改/更改,隐藏内容/隐藏 iframe。
由于我可以访问正在加载到 iframe 中的实际内容,这里实际上是否有更简单的解决方案,尽管我无法控制父域?
【问题讨论】:
标签: javascript jquery html iframe cross-domain