1

我正在使用最新版本的 TinyMCE 4.0b3。jQuery 版本是 1.9.1。下面是我的代码:

<script type="text/javascript" src="tinymce/tinymce.min.js"></script>
<script type="text/javascript">
  tinymce.init({
  selector: "textarea",
  theme: "modern",
  plugins: [
  "advlist autolink lists link image charmap print preview hr anchor pagebreak",
  "searchreplace wordcount visualblocks visualchars code fullscreen",
  "insertdatetime media nonbreaking save table contextmenu directionality",
  "emoticons template paste textcolor"
  ],
  toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
  toolbar2: "print preview media | forecolor backcolor emoticons",
  image_advtab: true,
  templates: [
   {title: 'Test template 1', content: 'Test 1'},
   {title: 'Test template 2', content: 'Test 2'}
  ],
 });
 </script>

 <textarea name="content" rows="5" cols="100"/>

上面的代码在 IE9 标准模式下完美运行。但不能在IE9兼容模式下,mozilla firefox,google chrome,safari。我在浏览器控制台中没有看到任何错误。

我看到很多关于这个的帖子,应该在 tinymce 之后加载 jquery 来解决这个问题。但是在我们的应用程序中,我们不能这样做,因为 jquery 是在主页本身加载的。

我曾尝试使用 $(document).ready 函数但没有用。我不确定它是否是 jquery 问题。

编辑:上面的代码在所有浏览器的纯 html 文件中都可以正常工作。在我们的应用程序中,我们使用 hbs(车把脚本)文件。当试图将该代码放入 hbs 文件时,它不起作用。

有没有其他方法可以解决这个问题。

4

2 回答 2

1

在我们的应用程序中,我们也使用了 require js。所以我们需要做 shims 配置来让它工作。

requirejs.config({
baseUrl: "js",
paths: {
    tinyMCE: 'libs/tinymce/tiny_mce'
},
shim: {
    tinyMCE: {
        exports: 'tinyMCE',
        init: function () {
            this.tinyMCE.DOM.events.domLoaded = true;
            return this.tinyMCE;
        }
    }
}
});

参考:如何使用 Require.js 实现 TinyMCE?

于 2013-06-28T06:31:16.607 回答
0

尝试将脚本代码放在 body 标记之后。

于 2013-06-13T07:12:17.107 回答