在 Firefox 中动态渲染 iFrame
Render an iFrame dynamically in Firefox
我像这样动态生成一个 iFrame
var iframe=document.createElement('iframe');
document.body.appendChild(iframe);
var iframedoc=iframe.contentDocument||iframe.contentWindow.document;
iframedoc.body.innerHTML="HI";
小提琴:http://jsfiddle.net/Pbj7S/
它适用于Google Chrome,Opera,Safari,但不适用于Firefox。
知道为什么吗?
这有效:
var iframe=document.createElement('iframe');
document.body.appendChild(iframe);
setTimeout(function(){
var iframedoc=iframe.contentDocument||iframe.contentWindow.document;
iframedoc.body.innerHTML="HI";
}, 10);
问题是您尝试在 DOM 中可用之前访问 iframe 文档。
延迟并不重要,重要的是浏览器仅在 js 线程完成工作后更新显示(在 Firefox 的情况下,还有一些 js 可访问的对象)。
这样的事情是没有必要的。您无需使用超时或任何东西即可让 Firefox 表现得像 chrome。在你的代码中,只需将源代码设置为"javascript:"就可以了。示例波纹管:
iframe.src = 'javascript:';
或仅使用:
iframe.src = 'about:';
不要设置为空白。在火狐,铬,歌剧等中可以正常工作。
相关文章:
- 如何使用Angular动态添加iframe-src
- 使动态命名的iframe可编辑
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 在iframe代码中动态插入子id
- 点击AngularJS动态iframe
- 如何使用Javascript在FireFox中将html从内存动态加载到iframe中
- 谷歌索引iframe动态创建了什么
- 动态(重新)创建iframe内容不会重置Chrome中的JS对象
- 附加'沙箱'属性设置为动态创建的iframe以停止重定向
- 动态 iframe 在 Firefox 上不可见
- 动态增加 iframe 高度
- iframe动态代码的奇怪行为
- 如何调整 SSL iframe 动态高度
- Joomla iFrame动态高度
- iFrame动态调整大小,不显示整个页面
- iFrame动态调整大小
- Iframe动态高度调整大小
- Iframe动态高度调整
- 噩梦-iframe 动态 iframe 名称
- 如何为iframe动态创建HTML页面?