如何阻止CKEditor 4从插入文档中删除<style>和<link href>标记</style>

时间:2015-04-15 13:47:01

标签: html insert tags ckeditor

我的问题是CKEditor 4在插入编辑器时似乎正在剥离某些数据,我已经验证了数据在传递给CK之前是正确的。

我已经包含了

config.allowedContent = true;

应该阻止CK格式化我的文本,但是当我使用editor.insertHtml方法并传入包含

的大块html时
<html lang="en-GB" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
    <link href="http://fonts.googleapis.com/css?family=Droid+Sans" rel="stylesheet" type="text/css"/>
    <link href="http://fonts.googleapis.com/css?family=Bree+Serif" rel="stylesheet" type="text/css"/>
    <link href="http://fonts.googleapis.com/css?family=Droid+Sans+Mono" rel="stylesheet" type="text/css"/>
    <link href="http://192.168.0.50/css/new/all.css?v=1" media="all" rel="stylesheet" type="text/css"/>
    <link href="http://192.168.0.50/css/new/templates.css?v=1" media="all" rel="stylesheet" type="text/css"/>
    <link href="http://192.168.0.50/css/pre_review/colors.css?v=1" rel="stylesheet" type="text/css"/>
    <link href="http://192.168.0.50/css/pre_review/paged_test.css?v=2" media="paged" rel="stylesheet"
        type="text/css"/>
    <link href="http://192.168.0.50/css/pre_review/bootstrap.min.css?v=1" media="all" rel="stylesheet"
        type="text/css"/>
    <link href="http://192.168.0.50/css/pre_review/main.css?v=1" rel="stylesheet" type="text/css"/>
    <style type="text/css">html { -ro-editable: true; }</style>
</head>
<body>

在插入编辑器后,我查看了源代码,剩下的是

<html>
<head>
<title></title>
</head>
<body>
<p><!--?xml version="1.0" encoding="UTF-8"?--><!-- Comment by kp --><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<style type="text/css">html { -ro-editable: true; }
</style>

以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:1)

editor.insertHtml()不能用于插入整个网页的HTML,包括<html>等标记。它只能用于粘贴等目的 - 所以插入<body>的片段。

我想您只想使用editor.setData()方法。并记住在full page模式下初始化编辑器。