0

私は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>

フィドルの例

改行をクリックしてEnterキーを押すと、挿入したものと同じクラスの2番目のdivが作成されます。これは奇妙な振る舞いです。段落内でdivが違法であると読みましたが、spanでも機能しません。

誰かがポインタを持っていますか?どんな助けでも大歓迎です。

4

1 に答える 1

2

&nbsp;テキストが img の後に挿入される問題は、リンク テキストとしてan を使用することで修正できます。つまり、代わりに<a id='<?php echo $new_file; ?>' class='videoplaceholder'></a>を使用できます<a id='<?php echo $new_file; ?>' class='videoplaceholder'>&nbsp;</a>。クラスについてはわかりませんが、デフォルトでTinyMCEがクラスを追加しないようにする方法があるかもしれません。

于 2012-07-24T09:16:44.717 に答える