TinyMCE4 のドキュメントは現在陰気です。Ruby on Rails と互換性のある挿入画像プラグインがありますが、非推奨の tiny_mce_popup.js に依存しています。そのファイルの使用を回避するためにプラグインを更新する方法についての情報はありません。
2 に答える
TinyMCE 3 は、親と対話の間で変数を交換するために tiny_mce_popup.js に依存していました。TinyMCE 4 では、dialog.htm と tiny_mce_popup.js が廃止されました
image pluginを見ると、次のようeditor.windowManager.open
にダイアログが JS だけで作成されていることがわかります。これにより、 を介して親変数に間抜けにアクセスする必要がなくなりますopener
。可能であれば、このテンプレート メソッドを使用してください。
私はdialog.htmに固執することにしましたが、レールから提供したので、フォームauth_tokenをJSと交換する必要はありませんでした。これを行う場合、コンテンツの挿入はダイアログからではなく、プラグインから行う必要があることに注意してください。これは私の単純な画像アップローダーです:
tinymce.PluginManager.add('railsupload', function(editor, url) {
var win, data, dom = editor.dom
// Add a button that opens a window
editor.addButton('railsupload', {
icon: 'image',
tooltip: 'Insert image',
onclick: showDialog
});
function showDialog() {
win = editor.windowManager.open({
title: 'Insert image',
name: 'railsupload',
url: '/attachments/tinymce?owner_type=' + editor.settings.owner_type + '&owner_id=' + editor.settings.owner_id,
width: 200,
height: 220,
bodyType: 'tabpanel',
buttons: [{
text: 'Insert',
onclick: submitForm
}]
});
}
function submitForm() {
editor.insertContent("<img src=\"" + self.frames[1].document.img_url + "\" />")
win.close()
}
});
Rails のアタッチメント コントローラーが必要で、URL を介してアタッチメントの初期パラメーターを渡す必要があります。これをgemで構築すると、tinymce-railsと互換性があり、この回答を更新します。
更新: TinyMCE には、3.x からの移行に関するこのページがあります: http://www.tinymce.com/wiki.php/Tutorial:Migration_guide_from_3.x