我的HTML中有一个iframe,如下所示;
<iframe id="ifrContainer"></iframe>
我想在此iframe中动态附加表单元素。我有以下代码来做到这一点;
var iframeContainer = document.getElementById('ifrContainer');
var innerDoc = (iframeContainer.contentDocument) ? iframeContainer.contentDocument : iframeContainer.contentWindow.document;
innerDoc.body.innerHTML += '<form id="myForm"></form>';
以上代码在Chrome中运行良好。但在IE中失败了。
它给了innerDoc.body.innerHTML错误(说它是null)
不确定我做错了什么。
注意:我想写入iframe&amp;不读内容
这是在我的Ember应用程序中调用该函数的方法(该函数具有iframe代码)
Ember.run.scheduleOnce('afterRender', this, function() {
this.myIframeFunc();
})
答案 0 :(得分:0)
出于某些原因,在IE中只能在document.readyState == 'complete'
这适用于我。
<iframe id="ifrContainer"></iframe>
<script>
var iframeContainer = document.getElementById('ifrContainer');
var innerDoc = iframeContainer.contentDocument;
document.addEventListener('readystatechange', function() {
if (document.readyState == 'complete') {
innerDoc.body.innerHTML += '<form id="myForm"><input value=1></form>';
}
});
</script>