管理者がフロント エンドの [編集] ボタンをクリックしてコンテンツを編集するインライン CMS を作成しています。
ライトボックスで開くには、複数の tinymces を含む Web フォームが必要で、エレガントなソリューションが必要です。私は独自の URL (非 js ユーザー用) で動作する Web フォームを持っており、これらを ajax でカラーボックス ライトボックスにロードしています。これは私がこれまでに持っているものです:
jQuery(document).ready(function(){
jQuery(".ajax").colorbox({
onComplete : function(){ tinyMCE.execCommand('mceAddControl', true, "mytextarea"); },
onClosed : function(){ tinyMCE.execCommand('mceRemoveControl', true, "mytextarea");}
});
});
...
<a class='ajax' href="/mywebformurl #mywebform">Edit</a>
3 つの問題があります。
これは id のテキスト領域でのみ機能します
mytextarea
。クラスのすべてのテキスト領域で動作するようにします.tiny_mce
(私のtinymce構成によるとmode : "specific_textareas", editor_selector : "tiny_mce"
)。ライトボックスが開いているときだけ、ホストページにtinymceをロードしたくありません。
href への追加を削除するにはどうすればよい
#mywebform
ですか?ただし、/mywebformurl のページ全体ではなく、webform のみをロードするにはどうすればよいですか?
基本的に、ajax で読み込まれたコンテンツを独立させて、mywebform の URL に直接アクセスしたときと同じように機能させたい (独自の js を含めるなど)。私は ajax ではなく iFrame を検討していますが、iframe は絶対に避けるべきだという前提で常に取り組んできました。