无法在 Firefox 中设置 IFrame 的 document.body.innerHTML

2024-03-13

我一直在寻找一种跨浏览器的方法来以编程方式设置 IFrame 的innerHTML。 (如http://roneiv.wordpress.com/2008/01/18/get-the-content-of-an-iframe-in-javascript-crossbrowser-solution-for-both-ie-and-firefox/ http://roneiv.wordpress.com/2008/01/18/get-the-content-of-an-iframe-in-javascript-crossbrowser-solution-for-both-ie-and-firefox/)。我已经编写了一些示例代码(如下),我可以让它在 Safari 和 Chrome 中运行,但不能在 Firefox 中运行。谁能帮我弄清楚我需要做什么(以便携的方式)?

<html>
<body>

<div name=FRAME2div id=FRAME2div style="position:absolute; background-color:blue; color:black; border-color:black;border-width:0; left:100px; top:40px; width:200px; height:200px; overflow:scroll; display:block; " >
</div>

<script type="text/javascript">
document.getElementById("FRAME2div").innerHTML = '<iframe border=0 id=IFRAME2 name=IFRAME2 ></iframe>';
document.getElementById("IFRAME2").contentWindow.document.body.innerHTML = '<html><body><p>NETSCAPE</p></body></html>';
</script>

</body>
</html>

在 Firefox 中,如果没有设置初始内容,框架的内容似乎无法被识别。解决这个问题最简单的方法如下代码所示:

//Note: ID is not necessary for this example
document.getElementById("FRAME2div").innerHTML = '<iframe id=IFRAME2 name=IFRAME2 ></iframe>';
var doc = frames["IFRAME2"].document;

//Trigger a page "load".
doc.open();
doc.close();
//Set innerHTML of the body tag.
doc.body.innerHTML = '<p>NETSCAPE</p>';

另一种方法包括设置src财产给javascript:"&nbsp;",并注册一个一次性加载事件处理程序。这种方法稍微复杂一些,因此我不会更详细地描述它。


Every frame's window object can be accessed through the frame object, by name.

因此,我建议使用以下代码:

frames['IFRAME2'].document.documentElement.innerHTML = "<body>...</body>";

document.documentElement指文档的根元素,通常<html>。有可能的是body的财产document当您调用当前代码时,尚未准备好。通过引用根元素,可以避免这个问题。

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

无法在 Firefox 中设置 IFrame 的 document.body.innerHTML 的相关文章

  • Disqus 评论数始终为 0 条评论

    我想我已经按照通用代码的说明设置了 Disqus 问题是它总是说某个帖子有 0 条评论 拿这个帖子来说 http tx0rx0 com retropie and the raspberry pi http tx0rx0 com retrop
  • 新BFC“清”浮箱

    如示例所示 应用display inline block 到包含块似乎 清除 了其中的浮动框 wrapper inline block display inline block left column background color te
  • 更改 CSS 网格中的列顺序

    我正在研究 CSS 网格 当我在桌面尺寸上查看它时 min width 769px 我有单行三列 像这样的事情 col 1 col 2 col 3 我可以使用 css grid 移动列 以便我可以在移动布局上执行类似以下操作吗 col 1
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • 阻止通过 GET 传递“提交”按钮值?

    我正在尝试通过 GET 传递表单信息 这很重要 这样人们就可以将表单选择中过滤后的数据发送给其他人 问题是 使用下面的代码 它不仅传递过滤器信息 还传递提交表单值 如下所示 index php month filter Feb year f

  • 有多少像素? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 一个有多少像素 br 标签添加 我知道 br 高度可以通过CSS控制line height财产 不同浏览器的值是否相同 它会添加与浏览
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能
  • tr 元素周围的边框不显示?

    Chrome Firefox 似乎不渲染边框tr 但如果选择器是 它会渲染边框table tr td 如何在 tr 上设置边框 我的尝试 不起作用 table tr border 1px solid black table tbody tr
  • Jquery $(window).width() 不包括滚动条宽度?

    我有一个页面使用 javascript 设置了很多 css 属性 并使用 window width 来确定页面宽度 除此之外 它还使用该方法将一些 div 宽度设置为页面的完整宽度 A 这样做是因为很多其他计算都是在 javascript
  • $().load() 不是加载整个页面,而是需要在所有页面上保留菜单

    我想使用 jQuery AJAX 重新加载我网站的内容区域 load 功能 但我的问题是header and footer无论您的入口 URL 为何 都需要在所有页面上显示 我的网站是使用模板构建的 所以我的第一个想法是删除独特内容上方和下
  • popstate - 需要单击两次后退按钮才能真正返回

    我正在创建一个单页面并使用 PushState 来更改地址 现在 如果我向后推 则会触发 popstate 并且我想要使页面以动画方式从当前位置滚动到最后一个位置 当然 这是可行的 但页面会跳转到顶部 有谁知道如何防止这种行为 我正在使用
  • 有没有基于 WPF 的 Markdown 渲染器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们有基于 WPF 的应用程序 我们有单独的字符串存储库 其中的文本在网络中进行编辑 在我们的 WPF
  • 如何计算单击的甜甜圈元素的中点与负 y 轴之间的角度

    Consider the following codesample donut chart using jquery flot http jsfiddle net c5zsg6y3 26 now as i have added the im
  • 垂直对齐多行文本(菜单元素)?

    我正在尝试垂直对齐 UL 内的文本 问题是某些列表项具有不止一行文本 因此无法使用行高 小提琴 http jsfiddle net jaAYT http jsfiddle net jaAYT 这是我想要达到的结果 http img402 i
  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • a:悬停颜色不起作用

    一件很奇怪的事情 我想在悬停时更改链接的文本颜色和背景颜色 这是代码 css link menu a color white display block height 100 width 100 text decoration none t
  • 在 Chrome 中为

    我已经看到这个问题多次出现 但没有任何明确的解决方案 我正在加载一个简单的视频
  • 修改 Twitter 帖子上可编辑 Div 的内容

    我正在编写一个 chrome 扩展 它可以帮助用户在 Twitter 上输入内容 当在 twitter 上写推文时 twitter 会打开一个可编辑的 div 容器 当用户输入内容时 twitter 大概正在使用某些网络框架 会生成子 di
  • 如何根据另一个下拉列表中的选择动态填充下拉列表中的选项?

    我有一个表 其中包含类别信息 例如产品 我已将它们列在下拉菜单中 现在 我需要做的是 在下一个下拉菜单中列出所选类别的子类别 我希望 javascript 是必需的 但我对 javascript 还不太熟悉 将非常感谢您的帮助 你应该使用

随机推荐

  • css:覆盖活动链接样式?

    我的 css 中有以下选择器 a active position relative top 1px 因此 每个链接在按下时都会有这个小按钮效果 我怎样才能防止特定链接的这种行为 例如我的网站上有一个 返回顶部 链接 不应该有这种行为 a b
  • 标准 Treeview 的 C# 替代品?

    我想找到提供的 System Windows Form Treeview 的替代品 我需要以下改进 多项选择项目 更好的性能 标准小部件的性能简直太糟糕了 特别是在添加一长串项目时 在树视图小部件内拖放项目时滚动 我可能会忘记一些 但这些非
  • s3 安装在容器内。如何将其暴露给主机?

    我一直在考虑是否有一个容器可以安装 s3 桶并将其暴露在外面 I used https github com FindHotel aws s3 mount https github com FindHotel aws s3 mount将 s
  • 拖放文本视图

    我必须拖动 但无法完美拖动它 问题是 1 我必须拖动两到三次才能将其带到所需的位置 因此 textview 不能顺利跟随手指移动 2 如果我向上移动文本视图 它只会向下移动 我提供了触摸事件上textview的代码 请帮忙 提前致谢 fin
  • 如何使用 Unix 套接字对来通信 Rust 和 Ruby 进程

    我正在尝试使用 Unix 套接字对将 Rust 进程与 Ruby 子进程进行通信 我只使用 Ruby 尝试过同样的操作 它可以工作 但我似乎无法让它与 Rust 一起工作 我尝试将 rust socket 文件描述符传递给Ruby脚本 将
  • python 中的聚合时间序列

    我们如何按小时或分钟粒度聚合时间序列 如果我有如下所示的时间序列 那么我希望这些值按小时聚合 pandas 是否支持它 或者是否有一种在 python 中实现它的好方法 timestamp value 2012 04 30T22 25 31
  • 应用内购买产品 ID 是否必须以反向 DNS 开头?

    应用内购买产品 ID 是否必须以反向 DNS 开头 例如com mycompany My Awesome Game Level Pack 1或者它可以只是独立的吗Level Pack 1 产品 ID 可以是您想要的任何内容 但建议您遵循反向
  • 使用 rma.glmm 计算估计值:当 2 个估计值相同时出错

    我正在使用 rma glmm 来计算两项不同研究的元比例 例如 6 个月时出现 xi 和未出现 xii 不良事件的个体比例 library metafor 6 months study c 1 2 ni c 41 19 xi c 26 14
  • 浏览器后退按钮未更新页面

    我使用 jquery 单击事件在井号标记后设置 URL URL 设置正确 但当我使用浏览器后退按钮时 它不会将我带到上一页 在我的点击事件之前 URL 如下所示 http example com menu php home 我的点击事件如下
  • 如何使用 JavaZOOM JLayer 库播放/暂停 mp3 文件?

    如何向以下代码添加播放 暂停按钮 import javazoom jl player Player try FileInputStream fis new FileInputStream mysong mp3 Player playMP3
  • 更新至 Safari 12.0 - Java 插件不再列出

    更新到后Safari 版本 12 0 下面的Java插件Safari gt 首选项 gt 网站 gt 插件不再列出 因此 Java Applet 不能在不安全模式下运行 有没有办法启用 Java 插件或运行 Java 小程序 在 macOS
  • Pandas:条件组特定计算

    假设我有一个带有键 例如客户 ID 和两个数字列 C1 和 C2 的表 我想按键 客户 对行进行分组 并在其列上运行一些聚合器 例如 sum 和 Mean 在计算组聚合器之后 我想将结果分配回 DataFrame 中的每个客户行 因为一些客
  • ReactJS HREF 导致状态丢失

    我有一个名为 EnrollForm 的父组件 带有一个 BrowserRouter 该组件路由到不同的子组件 这些子组件是我的整个 EnrollForm 的页面 每次填写子组件页面并单击下一个 btn 时 所有表单字段都会保存到子组件状态
  • 多项式评估的生成方法

    我试图想出一种优雅的方法来处理一些生成的多项式 对于这个问题 我们将 专门 关注以下情况 order是生成的参数n三阶多项式 其中 n order 1 i是 0 n 范围内的整数参数 多项式在 x j 处有零点 其中 j 1 n 且 j i
  • 在 Perl 6 中查找上周五的日期?

    我想生成一个从周一到周四的上周五结束的序列 如果该序列从周六和周日开始 则生成上周五结束的序列 也就是说 假设今天是2018 05 09 那么上周五是2018 05 04 如果今天是2018 05 12 那么上周五是also 2018 05
  • KMP 字符串搜索算法的最坏情况是什么? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 谁能建议我一个最坏情况的 文本字符串
  • 如何删除我不小心发布到 go.dev 的包?

    我不小心将一个包发布到了 go dev 网站 谁能告诉我如何删除它 https pkg go dev github com Nksama Random quotes https pkg go dev github com Nksama Ra
  • 如何将一行中的多个值拆分为单独的行?

    我想将一行中的多个值拆分为单独的行sap hanasql 桌子 id name 1 kabil arasan 但我想要这样的输出 id name 1 kabil 1 arasan 尽量避免列中出现类似 csv 的数据 例如在 ETL 过程中
  • 无法使用 Android Studio、Windows 7 连接到 Samsung Galaxy Tab S

    我有一台漂亮的新三星 Galaxy Tab S 我正在尝试将其与 Android Studio 连接 我已在平板电脑上启用 USB 调试 并通过执行 SAMSUNG USB Driver for Mobile Phones v1 5 45
  • 无法在 Firefox 中设置 IFrame 的 document.body.innerHTML

    我一直在寻找一种跨浏览器的方法来以编程方式设置 IFrame 的innerHTML 如http roneiv wordpress com 2008 01 18 get the content of an iframe in javascri