在iframe中加载CKEDITOR在firefox中不起作用

时间:2014-02-14 15:28:30

标签: javascript html iframe ckeditor

我正在尝试将整页加载到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中加载:

enter image description here

但我可以通过控制台访问它。例如$win.CKEDITOR.instances.editor返回整个CKEDITOR实例,在对象内部显示status: loaded

任何想法,可能是什么问题? 提前谢谢!

0 个答案:

没有答案