无法更改 Firefox 4/IE 中的 iFrame 内容
我有以下代码:
<html>
<head>
</head>
<body>
<script type="text/javascript">
var frame = document.createElement('iframe');
frame.id = 'myFrame';
document.getElementsByTagName('body')[0].appendChild(frame);
var context = frame.contentWindow.document;
context.body.innerHTML = 'testing';
</script>
</body>
</html>
这将创建一个包含我的文本的简单 iframe:“测试”。
这在 Chrome 中完美运行,但 Firefox 和 IE 正在渲染一个空的 iframe。
知道我做错了什么吗?
I have the following code:
<html>
<head>
</head>
<body>
<script type="text/javascript">
var frame = document.createElement('iframe');
frame.id = 'myFrame';
document.getElementsByTagName('body')[0].appendChild(frame);
var context = frame.contentWindow.document;
context.body.innerHTML = 'testing';
</script>
</body>
</html>
This creates a simple iframe containing my text: 'testing'.
This works perfectly in Chrome, but Firefox and IE are rendering an empty iframe.
Any idea what I'm doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做:
所有浏览器对 JavaScript 的解释都不同,所以这只是使用通用方法的问题。这应该适用于所有浏览器。
尝试一下。
You can do something like this:
Javascript is interpreted differently by all browsers, so it's just a matter of using the common-approach. This should work across all browsers.
Give it a try.
某些浏览器明确阻止此类行为,因此您无法在框架中加载某人的银行网站并在 Javascript 中与其交互。此链接:
http://spyder.wordpress.com/2006/05/31/hacking-around-firefox-security-in-order-to-actually-accomplish-something/
表明有关于空 iframe 初始化方式的一些错误,其中一个:
http://www.iframehtml.com/iframe-security.html
有一些关于如何处理它们的资源。
Some browsers explicitly prevent things like this so you can't, e.g., load somebody's bank website in a frame and interact with it in Javascript. This link:
http://spyder.wordpress.com/2006/05/31/hacking-around-firefox-security-in-order-to-actually-accomplish-something/
suggests that there are some bugs with how an empty iframe is initialized, and this one:
http://www.iframehtml.com/iframe-security.html
has some resources for how to deal with them.
重写最后一行innerHTML似乎是chrome独有的东西。
这里的 JS fiddle 确认它可以在 IE、Chrome 和 Firefox 中工作:
http://jsfiddle.net/thebeebs/mDMAj/< /a>
Rewrote the last line innerHTML seems like a chrome only thing.
JS fiddle here confirms it's working in IE, Chrome and Firefox:
http://jsfiddle.net/thebeebs/mDMaj/