malutki mce nie może być wstawiony, gdy ładuje js dynamicznie
Mam problem z tinyMCE, kiedy to robię<script type="text/javascript" src="/scripts/tiny_mce/tiny_mce.js">
do<head>
i umieść kod init przed<textarea class="tinyMceEditor">
, to działa dobrze. kod init jest taki:
tinyMCE.init({
mode : "specific_textareas",
editor_selector : "tinyMceEditor",
plugins : "inlinepopups,advlink",
convert_urls : false,
theme : "advanced",
theme_advanced_buttons1 : "link,unlink",
width: "602",
height: "175",
theme_advanced_statusbar_location : "none"});
Ale teraz chcę odroczyć ładowanie tiny_mce.js, gdy użytkownik kliknie przycisk po raz pierwszy, zostaną załadowane tiny_mce.js, a następnie dołączą<textarea class="tinyMceEditor">
do<body>
, następnie uruchom init z poprzednim kodem, ale tym razem nie zainicjuje edytora tinyMCE, tylko pokazuje<textarea class="tinyMceEditor">
googled, ale nie ma z tym nic wspólnego, każdy napotkał ten problem?
Wszelkie sugestie zostaną docenione.
Przejrzałem narzędzia dla programistów webowych w Chrome i odkryłem, że jeśli i dynamicznie załaduję tinymce.js, nie będą ładowane inne potrzebne js, takie jak en.js, editor_template.js, editor_plugin.js itp. nawet gdy dodam te pliki js do dynamicznego ładowania, cymbałka nadal nie może być wstawiona.
dziękuję za pomoc, obserwowałem w firebug, i ładuję tinymce.js przed dołączeniem<textarea
do<body>
, potem dołączam<textarea>
i zrób cymbałinit()
, używam LazyLoad (wtyczka jQuery) do dynamicznego ładowania plików js.
oto co zrobiłem
if(typeof TinyMCE == "undefined"){
//dynamically load the tinymce.js
LazyLoad(['tinymce.js'],function(){
//callback function, called after tinymce is loaded
$('body').append('<textarea class="TinyMceEditor"/>');
tinyMCE.init({init settings});
});
}
jeśli nie ładuję dynamicznie tinymce.js, po prostu wpisz<script>
oznaczyć<head>
, tinyMCE można wstawić, ale gdy dynamicznie ładuję tinymce.js, nie działa. Masz jakiś pomysł?