我在使用tinyMCE时遇到了麻烦,当我把<script type="text/javascript" src="/scripts/tiny_mce/tiny_mce.js">
to <head>
,并将初始化代码放在<textarea class="tinyMceEditor">
,效果很好。
初始化代码是这样的:
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"});
但现在,我想推迟tiny_mce.js的加载,当用户第一次单击按钮时,tiny_mce.js将被加载,然后附加<textarea class="tinyMceEditor">
to <body>
,然后用前面的代码进行初始化工作,但这一次,它不会初始化tinyMCE编辑器,它只显示<textarea class="tinyMceEditor">
谷歌搜索,但没有找到与此相关的内容,有人遇到过这个问题吗?
任何建议将不胜感激。
我查看了 chrome Web 开发人员工具,发现如果我动态加载 tinymce.js,则不会加载所需的其他 js,如 en.js、editor_template.js、editor_plugin.js 等。即使我将这些js文件添加到动态加载中,tinymce仍然无法初始化。
谢谢你的帮助,我在 firebug 中观看了,并且我确实在附加之前加载了tinymce.js<textarea
to <body>
,然后我附加<textarea>
,然后做tinymceinit()
,我正在使用 LazyLoad(jQuery 插件)动态加载 js 文件。
这就是我所做的
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});
});
}
如果我不动态加载tinymce.js,只需放置一个<script>
tag in <head>
,tinyMCE可以被初始化,但是当我动态加载tinymce.js时,它不起作用。对此有什么想法吗?