現在のカーソル位置にコンテンツを挿入するか、TinyMCEエディターインスタンスで選択したコンテンツを置き換えようとしています。私はこれを使用しています:
tinyMCEPopup.editor.selection.setContent(content);
content
挿入したいHTMLの文字列はどこにありますか。
Firefox、Opera、Chromeでうまく機能しますが、IEでは機能しません。代わりに、選択範囲ではなく、エディターの先頭にコンテンツを挿入します。私も試しました:
tinyMCEPopup.execCommand('mceInsertContent', false, content);
繰り返しますが、IEでも同じ動作です。特殊文字を挿入するためのTinyMCEコードは、上記の関数を使用して機能します。プラグインで複製しようとしましたが、それでも喜びはありません...
function insertChar(chr) {
tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
// Refocus in window
if (tinyMCEPopup.isWindow)
window.focus();
tinyMCEPopup.editor.focus();
tinyMCEPopup.close();
}
更新:
まだIEで動作していませんが、Operaは私のプラグインのボタンをツールバーに表示しません(これはおそらく別の問題ですが)!jQueryプラグインも試し、エディターをロードしましたが、これを使用してもmceInsertContentメソッドを呼び出すことができませんでした。
$('#my-editor-id').tinymce().execCommand('mceInsertContent', false, content);
エラーが発生しました:「オブジェクトにはメソッドがありません:tinymce」-ポップアップから呼び出すことができない可能性がありますか?!