我如何制作 <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/