我已将CKEditor集成到我的网站CMS中。预览按钮工作,但我无法使用样式表(CSS)。我编辑了位于以下位置的preview.html:
网站/ CKEditor的/插件/预览/
但是它似乎没有听到任何一个html,我包含了从WYSIWYG编辑器中提取内容的代码。
据我了解这段代码:
<script>
var doc = document;
doc.open();
doc.write( window.opener._cke_htmlToLoad );
doc.close();
delete window.opener._cke_htmlToLoad;
</script>
拉入编辑器中的任何内容,因此我应该能够包含该html以包含可用于每个页面的元素?和样式表的链接?
有人做过这个吗?有可能吗?
答案 0 :(得分:0)
“window.opener._cke_htmlToLoad”似乎是一个字符串(包含一个完整的html文档)。
要获取&lt; body&gt;&lt; / body&gt;的innerHtml,您可以使用此正则表达式:
var doc = window.opener._cke_htmlToLoad; // is string
var innerBody = ( doc.replace(/((?:.(?!<\s*body[^>]*>))+.<\s*body[^>]*>)|(<\s*\/\s*body\s*\>.+)/g,'') );
document.getElementById('insertIntoMe').innerHTML = innerBody;
从我的测试来看,这似乎只适用于Firefox。但Chrome和Internet Explorer直接显示窗口文档而不允许任何更改。那么也许其他人可以提供更好的解决方案呢?