我尝试在JSF页面中使用CKEditor,如:
<pe:ckEditor id="editor" value="#{messagingController.messageContent}" width="600"/>
编辑器将出现在Internet Explorer中,但不会出现在Fire Fox或Chrome中
FireBug显示以下错误:
SyntaxError: An invalid or illegal string was specified
Chrome控制台向我显示以下错误:
Uncaught SyntaxError: Failed to set the 'innerHTML' property on 'Element':
The provided markup is invalid XML, and therefore cannot be inserted into an XML document.
CKEDITOR.plugins.add.afterInit
(anonymous function)
k
CKEDITOR.scriptLoader.load
(anonymous function)
(anonymous function)
(anonymous function)
k
CKEDITOR.scriptLoader.load
CKEDITOR.resourceManager.load
i
(anonymous function)
k
(anonymous function)
(anonymous function)
(anonymous function)
k
l
o
(anonymous function)
这是一个错误还是什么?我可以用其他方式包含这个组件吗?
我还使用了最新的primefaces扩展lib:
<groupId>org.primefaces.extensions</groupId>
<artifactId>primefaces-extensions</artifactId>
<version>3.0.0</version>
答案 0 :(得分:0)
问题在于我的网页的mime类型!当我将其从application/xhtml+xml
更改为text/html
时,问题就解决了。
答案 1 :(得分:0)
对正确答案的补充:
同样在iOS Safari中,可以出现此语法错误。指示是您的文档变量compatMode:"CSS1Compat"
(以js为单位),然后ckEditor将在此函数x.innerHTML = "some string with html entities"
处导致错误,因为使用错误的mime类型读取文档。
compatMode:"BackCompat"
时,ckEditor可以正常使用。这是由浏览器设置的,取决于内容类型resp。媒体类型。