ajax リクエストを作成してから、リクエストのレスポンスに含まれるすべてのテキストエリアに対して TinyMCE を初期化します。iOS Safari を除くすべてのブラウザで問題なく動作します (私は 6 でのみ試しました)。
iOS で行うことは、最初は完全に機能することですが、その後、ドキュメントを開くと (その要求を再度行い、テキストエリア用に TinyMCE を再度初期化します)、ロード画面でハングします。ドキュメントを初めて開いた後 (動作するとき)、ajax リクエストが正常に返されないことがわかりました。
$.ajax({
url: BASEURL + "/Expander/GetDocument",
data: { id: id },
}).done(function (data) {
$wrapper.empty().append(data);
initTinyMCE();
});
これが私のinit()です
function initTinyMCE() {
tinystovalidate = [];
tinyMCE.init({
selector: "textarea.tinymce",
valid_elements: "@[id|class|title|style|data-options|data-*]," +
"a[name|href|target|title]," +
"#p,-ol,-ul,-li,br,img[src|height|width],-b,-i,-u," +
"-span[data-*]," +
"-span[data-mce-type],hr",
extended_valid_elements: "-span[data-*]",
schema: "html5",
menubar: false,
statusbar: false,
toolbar: "bold | italic | strikethrough | bullist | numlist | alignleft | aligncenter | alignright | Link",
init_instance_callback : "myCustomInitInstance",
encoding: "xml",
width: "100%"
});
}
4.0 にアップグレードすれば問題は解決すると思いましたが、成功しませんでした。何か案は?
更新: tinyMCE を初期化した後、すべての非同期要求が機能しなくなったようですが、他の要求は正常に機能します。