Javascript 在Iframe元素中添加动态元素,而不是创建
如果我创建了一个动态的IFRAME元素,并且动态地将元素转换为新的IFRAME,那么我会遇到一个小问题。如果我这样做,它会起作用:Javascript 在Iframe元素中添加动态元素,而不是创建,javascript,iframe,dynamic,Javascript,Iframe,Dynamic,如果我创建了一个动态的IFRAME元素,并且动态地将元素转换为新的IFRAME,那么我会遇到一个小问题。如果我这样做,它会起作用: var miiframe=document.getElementById("miiframe"); var myElement=content.document.createElement("LABEL"); myElement.innerHTML="blabla"; miiframe.contentDocument.body.appendChild(myEleme
var miiframe=document.getElementById("miiframe");
var myElement=content.document.createElement("LABEL");
myElement.innerHTML="blabla";
miiframe.contentDocument.body.appendChild(myElement);
但如果我这样做了,那就行不通了:var miiframe=content.document.createElement("IFRAME");
miiframe.src="about:blank";
document.body.appendChild(miiframe);
var myElement=content.document.createElement("LABEL");
myElement.innerHTML="blabla";
miiframe.contentDocument.body.appendChild(myElement);
我看到了iframe,但没有看到label元素。
最重要的是如果在我做之前提醒它工作
var miiframe=content.document.createElement("IFRAME");
miiframe.src="about:blank";
document.body.appendChild(miiframe);
var myElement=content.document.createElement("LABEL");
myElement.innerHTML="blabla";
alert("now works!!!");
miiframe.contentDocument.body.appendChild(myElement);
使用DIV元素可以工作,但是我想用IFRAME元素来做
这段代码是针对Firefox的。
谢谢 如果在iframe中放置一个“src”,它会尝试加载该源代码(即使它是一个“about:blank”)。加载完成后,它将覆盖标签。您可以添加侦听器以等待iframe加载:
var miiframe=content.document.createElement("IFRAME");
miiframe.src="about:blank";
miiframe.addEventListener('load', function (e) {
var myElement=content.document.createElement("LABEL");
myElement.innerHTML="blabla";
miiframe.contentDocument.body.appendChild(myElement);
}, false);
document.body.appendChild(miiframe);
我的情况有点不同,我没有指定任何源代码,我只是尝试创建一个HTML编辑器,我制作了如下内容:
function init() {
var iframe = document.createElement("iframe");
iframe.setAttributes('id','edit');
document.body.appendChild(iframe);
var y = document.getElementById('edit');
y.contentDocument.designMode = 'On';
}
但这从来都不起作用,奇怪的是,当我在一些ifs中放置一些警报时,例如if(y中的“设计模式”)之类的东西,在几个警报之后,我能够在iframe上写下……:
非常感谢您的帮助,您的解释很清楚,iframe总是尝试加载。。。。它会在。。。所以我改了,现在是100%工作:)
而是在添加后停止加载miiframe.contentWindow.stop();
function init() {
var iframe = document.createElement("iframe");
iframe.addEventListener('load', function () {
iframe.contentDocument.designMode="on";
}, false);
document.body.appendChild(iframe);
}