我正在尝试将整页加载到iframe中并用CKEditor替换div:
<body onload="fillframe();">
<iframe id="edit-frame" width="1000" height="1000"></iframe>
</body>
这是用我的页面填充iframe并替换其中的一些内容的函数:
$frame = document.getElementById("edit-frame");
function fillframe() {
$win = $frame.contentWindow;
$doc = $win.document;
// fill iframe with page
$doc.body.innerHTML = '<html><head>...</head><body><textarea id="editor"><h1>CONTENT</h1></textarea></body></html>';
// load the ckeditor script:
// CKEDITOR has to be loaded inside the
// window it will be used in
var script = $doc.createElement("script");
script.type = "text/javascript";
script.src = "ckeditor/ckeditor.js";
$doc.head.appendChild(script);
// try to replace textarea in iframe
$win.CKEDITOR.replace("editor");
}
这在chrome中完美运行,但在firefox中却不行。 Firefox用CKEDITOR替换我框架内的textarea,但CKEDITOR完全禁用。文本区域内的内容未在firefox中加载:
但我可以通过控制台访问它。例如$win.CKEDITOR.instances.editor
返回整个CKEDITOR实例,在对象内部显示status: loaded
。
任何想法,可能是什么问题? 提前谢谢!