【问题标题】:Inserting content in tinymce, additional text is placed inside inserted content在tinymce中插入内容,附加文本被放置在插入的内容中
【发布时间】:2012-07-22 13:06:18
【问题描述】:

我有一个 tinymce 的视频上传,它会在编辑器中插入一些代码,如下所示:

var content2 = "<div class='playvideo' id='<?php echo $randomnumber;?>'>
<img class='posterimage' src='<?php echo $new_image_path; ?>'>
<a id='<?php echo $new_file; ?>' class='videoplaceholder'></a>
</div></div>";


parent.tinyMCE.execCommand('mceInsertContent', false,content2);

这工作正常,并输出:

<p><div id="581827" class="playvideo">
<img class="posterimage" src="/uploads/videos/images/1097VID.jpg" alt="" />
<a class="videoplaceholder" id="1097VID.mp4"></a>
</div></p>

但是在插入这个内容之后,我当然想继续写文字。但是当我这样做时,文本会放在 img 标签之后的我插入的内容中。 像这样:

<p><div id="581827" class="playvideo">
<img class="posterimage" src="/uploads/videos/images/1097VID.jpg" alt="" />text i try to write goes here for some reason
<a class="videoplaceholder" id="1097VID.mp4"></a>
</div></p>

Fiddle example

当为新行单击 enter 时,它会创建第二个 div,其类与我插入的类相同。这是一种奇怪的行为。我读到 div 在段落中是非法的,但它也不适用于 span。

有没有人指点?任何帮助是极大的赞赏。

【问题讨论】:

    标签: javascript html tinymce


    【解决方案1】:

    在 img 之后插入文本的问题可以通过将&amp;nbsp; 作为链接文本来解决,即您可以使用&lt;a id='&lt;?php echo $new_file; ?&gt;' class='videoplaceholder'&gt;&amp;nbsp;&lt;/a&gt; 而不是&lt;a id='&lt;?php echo $new_file; ?&gt;' class='videoplaceholder'&gt;&lt;/a&gt;。虽然我不确定这个类,但可能有一种方法可以阻止 TinyMCE 默认添加该类。

    【讨论】:

    • 非常感谢!它似乎有效,我添加了不可编辑的插件以使其无法编辑任何内容,迫使用户在能够编写之前先下一行,还通过选择将我用于插入内容的命令更改为更直接的内容.set 内容。暂时有效!再次感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    相关资源
    最近更新 更多