【问题标题】:TinyMCE wraps my text in <p></p>. Can I avoid this?TinyMCE 将我的文本包装在 <p></p> 中。我可以避免这种情况吗?
【发布时间】:2009-04-29 10:21:13
【问题描述】:

我在 .NET 页面中使用 TinyMCE (http://tinymce.moxiecode.com/)。 每当我加载文本时

myTMCE.value=mycontent;

我可以看到我的文本被包裹在 &lt;p&gt;&lt;/p&gt; 中。这对我来说是不可取的,所以我试图避免它。 尝试在

中初始化
        <script>
            tinyMCE.init({
                force_p_newlines: true
            })

        </script>

没用。 任何的想法? 提前致谢, 米。

【问题讨论】:

    标签: asp.net javascript tinymce


    【解决方案1】:

    你需要这样做:

    <script>
        tinyMCE.init({
            forced_root_block: false,
            //some other options here
        })
    </script>
    

    默认情况下,TinyMCE 设置为根块。通过将此属性设置为 false,您可以删除文本的任何包装。以下文字来自 TinyMCE 文档:

    此选项使您可以确保任何非块元素或 文本节点被包裹在块元素中。例如 something 将产生如下输出:

    某事

    默认启用此选项 从 3.0a1 开始。

    如果您将此选项设置为 false,则在输入时将永远不会生成 P 标签,或者会自动生成 BR 元素,而 Shift+Enter 将生成 P。

    请注意,不使用 P 元素作为根块会严重削弱编辑器的功能。

    http://www.tinymce.com/wiki.php/Configuration:forced_root_block

    【讨论】:

      【解决方案2】:

      请参阅 TinyMCE 论坛中的 this threadthe answer。 force_p_newline 是壁虎唯一的选项(即 FF)。

      【讨论】:

      • 然而 afaik force_p_newlines 有另一个 pourpose。
      • 该线程中的答案对我不起作用。在 init 中添加了以下内容,但 tinyMCE 行为没有改变。 apply_source_formatting:真,remove_linebreaks:假,entity_encoding:“”
      • 答案不对:force_p_newlines 有另一个浇注
      【解决方案3】:

      您可以在事后使用 .NET 去除

      标记,或者,如果这适合您的尝试,则只需使用纯

      【讨论】:

      • 我想我会去掉前导和尾随

        但这是一个肮脏的解决方案。
      • 请注意,当 tinyMCE 初始化时,它会重新添加

        ,因此请查看存储的代码以查看剥离的有效性,而不是查看编辑器加载的代码。
      • 注意:不使用标签包装文本可能会导致某些插件无法工作,例如需要将其方向规则插入标签的 Directionality 插件。对一些非 LTR 的人来说可能很重要。
      【解决方案4】:

      TinyMCE 为文本添加了一大堆标签——它的设计目标是从任意输入(包括 html 输入)创建有效的 html。如果您想控制生成的 html 代码,最好使用其他编辑器。

      【讨论】:

      • 很遗憾,因为除了这种不需要的行为之外,tinyMCE 工作得很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 2023-03-06
      相关资源
      最近更新 更多