使用jQuery通过ajax请求加载TinyMCE

时间:2010-11-20 03:04:56

标签: jquery ajax tinymce

我正在使用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实现的行为。

1 个答案:

答案 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>