我使用CKEditor,如果我点击Source按钮并粘贴HTML代码,如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<body>
<p>test</p>
</body>
</html>
然后再次点击“来源”,然后提交表单,html
,head
和body
标记将被删除,只停留<p>test</p>
!
CKEditor配置:
CKEDITOR.replace('content', {
extraPlugins: 'font,panelbutton,colorbutton,colordialog,justify,indentblock,aparat,buyLink',
autoGrow_onStartup: true,
enterMode: CKEDITOR.ENTER_BR,
FullPage : false,
allowedContent : true,
ProtectedTags : 'html|head|body'
});
你能帮助我吗?
答案 0 :(得分:7)
如果您要使用<html>
,<head>
和<body>
元素修改整个HTML页面,则需要将config.fullPage
选项设置为true
:
CKEDITOR.replace( 'content', {
fullPage: true,
extraPlugins: 'font,panelbutton,colorbutton,colordialog,justify,indentblock,aparat,buyLink',
// You may want to disable content filtering because if you use full page mode, you probably
// want to freely enter any HTML content in source mode without any limitations.
allowedContent: true,
autoGrow_onStartup: true,
enterMode: CKEDITOR.ENTER_BR
} );
请注意在配置中使用正确的案例(fullPage
不是FullPage
)。有关更多信息,另请参阅以下资源:
如果您想使用config.autoGrow_onStartup
选项,则需要在设置中加入Auto Grow插件。
最后但并非最不重要的是,不建议将Enter Mode设置更改为BR
或DIV
。所有编辑器功能和插件都完全支持默认的CKEDITOR.ENTER_P
模式,就创建Web内容的最佳做法而言,它也是最正确的模式。
如果你这样做来控制段落间距,你应该使用样式表。编辑contents.css
文件并为<p>
元素设置合适的边距值,例如:
p { margin: 0; }
答案 1 :(得分:0)
只需添加以下代码即可防止编辑器从您的源代码中删除“ HEAD / BODY / HTML”标签:-
CKEDITOR.replace( 'editor1', {
fullPage: true,
allowedContent: true,
autoGrow_onStartup: true,
enterMode: CKEDITOR.ENTER_BR
});