你如何在redactor v9.2.1中使用<style>标签?</style>

时间:2015-03-06 22:29:11

标签: css redactor

我正在使用Redactor v9.2.1。我试图让我的客户在他们的CMS中使用样式标签,但是编辑器会从内容中删除它们。

当我添加以下内容时:

<style type="text/css">
    .red{color:red;}
</style>

redactor将其剥离为:

<p>
.red{color:red;}
</p>

我已经确定deniedTags在我的设置对象中没有包含'style',而且我没有使用allowedTags属性,因为它与deniedTags冲突。

这是我的设置对象,我将传递给redactor init:

var settings = {
    deniedTags:[
        'html', 'head','link', 'body', 'meta', 'applet'
    ],
    observeLinks: true,
    iframe: true,
    convertVideoLinks: true
};

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

http://imperavi.com/redactor/docs/settings/clean/#setting-deniedTags

  

顶级HTML标记(&#39; html&#39;,&#39; head&#39;,&#39; link&#39;,&#39; body&#39;,&#39; meta& #39;,&#39; 风格&#39;,   无论此设置如何,脚本&#39;,&#39; applet&#39;)将始终被删除,   除非包裹在&#39; pre&#39;标记(格式化选项&#39;代码&#39;)

修改

因此,我无法在编辑器中添加style标记,正如我在文档中所读到的那样。好像你有这些选择:

  1. 在编辑器外设置单个标签样式:添加父选择器.redactor-editor,然后添加标签名称。请参阅http://imperavi.com/redactor/examples/typography/

  2. 添加多个formattingAdd选项,让用户从formatting下拉列表中选择自定义样式:

    $('#redactor').redactor({
        formattingAdd: [
        {
            tag: 'p',
            title: 'Red Block',
            class: 'red-style'
        }
        ]
    }); 
    /**
     * The above would create a new formatting entry,
     * which you define with 2 css selectors:
     * one for the class of the entry, another for the dropdown entry
     *  
     * .red-style, .redactor-dropdown .redactor-formatting-red-style {
     *     color: red;
     * }
     */
    
  3. 注意下拉列表的css选择器规则,即.redactor-dropdown .redactor-formatting-YOUR_CSS_CLASSNAME。这也很重要:

      

    formattingAdd只能应用于p,pre,blockquote和header   标签

    因此,您无法将其应用于<div>。如果您需要块元素,请使用<p>。此外,如果您需要内联, CAN 使用<span> ...它有效,请参阅小提琴:http://jsfiddle.net/a4df10vj/1/