iframe 继承自父级

2024-01-02

我该如何制作<iframe>继承其父级的样式和 javascript。

我努力了

var parentHead = $("head", parent.document).html();
$("head").html(parentHead);

但是,它去掉了<script>标签。 此外,我没有看到影响我的 iframe 的样式。

我是否缺少更好/任何其他方法? 谢谢。


您可以通过在 iframe 中添加以下代码来“继承”父级的 CSS:

<head>
<script type="text/javascript">
window.onload = function() {
    if (parent) {
        var oHead = document.getElementsByTagName("head")[0];
        var arrStyleSheets = parent.document.getElementsByTagName("style");
        for (var i = 0; i < arrStyleSheets.length; i++)
            oHead.appendChild(arrStyleSheets[i].cloneNode(true));
    }
}
</script>
</head>

我在 IE、Chrome 和 Firefox 中工作得很好。

关于JavaScript, 我找不到直接将父 JavaScript 添加到 iframe 中的方法,但是您可以添加parent.在父级中的任何地方使用 JS,例如:

<button type="button" onclick="parent.MyFunc();">Click please</button>

这将调用名为的函数MyFunc单击按钮时在父页面中定义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iframe 继承自父级 的相关文章