使用tinymce

时间:2016-01-14 23:34:50

标签: javascript jquery html tinymce

当使用Wordpress的tinymce编辑器时,我注意到他们能够让用户在富文本模式下编辑,他们可以看到所有格式,以及切换回用户可以编辑的纯文本模式html / script / css或任何其他代码。

我是一个新手,并且不太了解它。我能够使用默认的javascript和

进行工作
tinymce.init({ selector:'#id_content' });

当谷歌搜索时,我发现的第一件事是:

http://archive.tinymce.com/tryit/3_x/toggle_editor.php

这正是我想要的,但没有解释如何在任何地方做到这一点。在这个例子中有很多选项和插件,我不知道发生了什么。查看源代码,仅源代码甚至不执行此功能。有一个“这个例子的小提琴”(http://fiddle.tinymce.com/paaaab),但即使是小提琴也行不通。

经过一些谷歌搜索,我能够找到这个问题/答案:Plain and Rich text editor options in TinyMce editor

问题似乎是问我要问的同样的事情(在他发布问题前6天接过这个人)但是接受的答案现在已经过时了,并没有多大意义。我尝试了第二个答案,确切的代码没有任何改变,但它根本没用。

如果有人可以帮忙解决这个问题,或者告诉我为什么我的努力不起作用,我会欣喜若狂!

3 个答案:

答案 0 :(得分:1)

你链接到的小提琴没有用,因为它正在调用最新的TinyMCE javascript库。我改为使用TinyMCE v.3.5.11:

http://fiddle.tinymce.com/Cnfaab

切换格式现在有效。

        bags[0] = newBag;

在TinyMCE4中:

不确定这是否正确,但我相信这会做你想要做的事: http://codepen.io/anon/pen/ZQXLBo

JS:

<a class="btn" href="javascript:;" onclick="tinymce.execCommand('mceToggleEditor',false,'content');"><span>Toggle TinyMCE</span></a>

HTML:

  tinymce.init({
  selector: 'textarea',
  height: 500,
  toolbar: 'mybutton',
  menubar: false,
  setup: function(editor) {
    editor.addButton('mybutton', {
      text: 'My button',
      icon: false,
      onclick: function(e) {
        var $ = tinymce.dom.DomQuery;
        var myTextarea = $('textarea');
        var myIframe = $(editor.iframeElement);
        myTextarea.value = editor.getContent({
          source_view: true
        });
        myIframe.toggleClass("hidden");
        myTextarea.toggleClass("visible");
        if ($('iframe.hidden').length > 0) {
          myTextarea.prependTo(".mce-edit-area");
        } else {
          myIframe.value = myTextarea.value;
          myTextarea.appendTo('body');
        }
      }
    });
  },
  content_css: [
    '//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css',
    '//www.tinymce.com/css/codepen.min.css'
  ]
});

CSS:

<textarea>
      <p style="text-align: center; font-size: 15px;"><img title="TinyMCE Logo" src="//www.tinymce.com/images/glyph-tinymce@2x.png" alt="TinyMCE Logo" width="110" height="97" />
      </p>
      <h1 style="text-align: center;">Welcome to the TinyMCE editor demo!</h1>
      <p>Select a menu item from the listbox above and it will insert contents into the editor at the caret position.</p>

      <h2>Got questions or need help?</h2>
      <ul>
        <li>Our <a href="http://www.tinymce.com/docs/">documentation</a> is a great resource for learning how to configure TinyMCE.</li>
        <li>Have a specific question? Visit the <a href="http://community.tinymce.com/forum/">Community Forum</a>.</li>
        <li>We also offer enterprise grade support as part of <a href="http://www.tinymce.com/pricing">TinyMCE Enterprise</a>.</li>
      </ul>

      <h2>Found a bug?</h2>
      <p>If you think you have found a bug please create an issue on the <a href="https://github.com/tinymce/tinymce/issues">GitHub repo</a> to report it to the developers.</p>

      <h2>Finally ...</h2>
      <p>Don't forget to check out our other product <a href="http://www.plupload.com" target="_blank">Plupload</a>, your ultimate upload solution featuring HTML5 upload support.</p>
      <p>Thanks for supporting TinyMCE! We hope it helps you and your users create great content.
        <br>All the best from the TinyMCE team.</p>
    </textarea>

答案 1 :(得分:1)

这适用于Tinymce 4.使用设置配置参数

setup: function(ed)
{
  ed.on('click', function(e){
    tinymce.execCommand('mceToggleEditor', false, 'your editor_id');
  });
}

在编辑器中单击它会切换。 这是一个工作的小提琴:http://fiddle.tinymce.com/Fnfaab

答案 2 :(得分:1)

如果您专门使用丰富的代码编辑器来寻找WordPress,例如代码切换功能,那么您可能需要查看我创建的TinyMCE Ace code editor插件。它创建了一个切换按钮,可以放在任何工具栏中并使用Ace编辑器(如果可用)(或textarea作为后备)