javascript - iframe 继承自父级

标签 javascript jquery html css iframe

我如何制作 <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 的函数。

关于javascript - iframe 继承自父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4612374/

相关文章:

javascript - 不带引号的 JSON.stringify 键

php - Jquery 选项卡保持 url 中 subid 的选项卡打开

javascript - 当用户在弹出窗口外单击时关闭弹出窗口

javascript - 如何从 webpack 捆绑 javascript 中单独加载组件?

javascript - 为什么 JavaScript 对象不会为当前为空的嵌套对象设置值

javascript - 如何隐藏全部选中,清除所有复选框

javascript - jQuery insertBefore、Apend 用于动态创建的元素

Jquery QuestionAnswer 与 slideToggle

python - 以下元素的 XPath 是什么?

html - 根据所用设备的屏幕尺寸在电子邮件中加载图像