我正在使用jQuery ajax函数来动态加载来自另一个文件的内容。我想以这种方式将TinyMCE编辑器添加到我的页面。链接到tiny_mce.js文件,编辑器初始化脚本应包含在动态加载的文件中。问题是它不适合我。
以下是我想要做的简单示例:http://www.darrarski.pl/TinyMCE_ajax/index.html
这是通过ajax:http://www.darrarski.pl/TinyMCE_ajax/editor.html
加载的文件如果您直接在浏览器中打开第二个文件,TinyMCE编辑器可以正常工作。
使用Firebug控制台,您可以看到tiny_mce.js已成功加载。我还添加了console.debug()是几个地方,所以你可以看到,ajax加载文件(editor.html)中的脚本正在正确执行并且没有错误。 第二个文件中jQuery库的链接仅用于测试原因(因此当您直接在浏览器中访问此文件时它将起作用),并且在通过ajax加载编辑器时不需要。
请帮我解决这个问题。
更新:我找到了另一种WYSIWYG编辑器,它按照我想要的方式工作,但它没有很好地记录,我害怕使用它,因为缺少TinyMCE的选项。但也许它可以帮助标记TinyMCE ajax初始化的人:
http://www.darrarski.pl/elRTE_ajax/index.html
无论如何,这正是我想用TinyMCE实现的行为。
答案 0 :(得分:1)
问题在于,您不是将html元素加载到名为“content”的div中,而是加载整个页面。这不起作用。你需要做的只是插入一个html元素。
我使用了您的代码,当您的editor.html包含以下内容时,它可以运行:
<textarea cols="50" rows="5" id="editor" name="editor">test content</textarea>
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced"
});
</script>