当前位置: 首页 > 面试题库 >

iframe从父级继承

成浩漫
2023-03-14
问题内容

我该如何<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单击该按钮时,将调用父页面中定义的函数。



 类似资料:
  • 问题内容: 我有2个页面,分别是index.html和social.html。我清理了索引,只剩下了需要fancybox的jquery代码。我想要做的是在social.html中包含图像,当单击它时,它将打开fancybox并显示它,但是在index.html中而不是在iframe中。出现的错误是: 这是我的index.html: 在IFrame页面中: PS:两个页面都在同一个域上…编辑:vid

  • 在过去的5天里,我一直在寻找拖放的有效解决方案。所以, Selenium. WebDriver 2.44.0 网络驱动程序。ChromeDriver。win32 2.13.0.0 Chrome最新版本。 C#,页面对象模式。抱歉屏幕上出现俄文描述:) 我们有. net cms。它有页面编辑器。编辑器在父页面中打开,如果从同一域加载到iframe中,则要编辑的页面。 我需要拖动'n'放置项目(图片,

  • 问题内容: 好的,我有一个页面,在此页面上有一个iframe。我需要做的是在iframe页面上,找出主页的URL。 我进行了搜索,我知道如果我的iframe页面位于其他域上是不可能的,因为这是跨站点脚本。但是,我读过的所有内容都说,如果iframe页面与父页面位于同一域中,那么例如,它应该可以工作: …或其他类似的组合,因为似乎有多种获取相同信息的方法。 无论如何,这就是问题所在。我的iframe

  • 我以这种方式在实体结构中使用Joined Hibernate继承映射: 我想先保存一个用户,然后在另一个api中保存一个客户,并将该客户映射到第一个用户。所以我尝试用现有的用户id保存一个新客户: 但是,hibernate使用新生成的id(而不是固定传递的id)生成客户,并生成一个新用户。我的问题是:我怎样才能在孩子的父母之后救他?还是反正又有没有救孩子不救父母?

  • 我试图理解从根pom文件到中级pom文件的继承指令。说明书上写着: 定义父pom文件继承和groupid、artifactid(但不是版本),从中间级父级到根pom文件。

  • 问题内容: 我的问题是我需要它以相反的方式工作(子级到父级),并且不知道如何定位父级窗口。 这是我的接收方代码(在父级中)- 这是由简单形式(在子级中)触发的发送方功能- 我应该以其他方式定位父母吗? 干杯保罗 问题答案: var eventMethod = window.addEventListener ? “addEventListener” : “attachEvent”; var even