Tinymce(有时)未定义

Ana*_*eer 5 tinymce jquery-plugins

我在我正在工作的项目中使用Tinymce(使用jQuery); 我们使用富文本编辑器供用户输入信息; 但是,有时加载页面时Firefox和Chrome会检测到"未定义的错误"错误(有时在代码的不同行),而其他时候页面加载就好了.奇怪的是,它与IE完美配合.

这是我正在使用的一些代码:

view.find('textarea.rich-text').each(function () {        
   $(this).tinymce( /* ...rules... */);        
});  
Run Code Online (Sandbox Code Playgroud)

后来

_variable.find("#summary").tinymce().setContent(content);
Run Code Online (Sandbox Code Playgroud)

此行是错误(有时)被捕获的地方.在我看来,问题是一个加载问题,即使tinyMCE插件在此行之前初始化约5000行.

更新:现在我已经设法用setTimeout"解决"问题了,但这似乎是一种非常丑陋的方式.

Dav*_* L. 6

几点:

  • 您没有提到TinyMCE初始化是否在jQuery ready事件函数中完成.它应该是当然的.

  • 你不需要每个循环.你可以说:

$('textarea.rich-text').tinymce({ script_url : '../js/tinymce/jscripts/tiny_mce/tiny_mce.js', theme : "advanced", ... });

  • 您不需要呼叫,find因为您只是按ID选择.做就是了:

$("#summary").tinymce().setContent(content);

  • 你真正的问题可能是当你收到错误时,tinymce还没有完成初始化.您看到它必须从配置中加载脚本script_url.这可能需要一段时间.因此,您必须使用oninit等回调.