把tinymce工具栏放在外部div上

时间:2012-11-23 14:48:01

标签: jquery html css tinymce html-editor

如何在外部div上放置tinymce工具栏? 我试着成功了:

TinyMCE Toolbar location

它将工具栏放在外部,但它不会加载用于显示工具栏的css主题,因为css在iframe中加载,因此工具栏不会显示。

2 个答案:

答案 0 :(得分:2)

几个月前,这对我来说是一个问题。您需要做的就是将外部工具栏移动到您想要的位置。我在我的一个插件中编写了一个函数。 在我的页面上,我创建了一个带有“externalToolbarWrapper”类的div,其中我插入了工具栏。这是那个功能。您可能需要稍微调整一下,但认为它会对您有所帮助。

    showExternalToolbar: function(){

        if (this.editor.getParam('theme_advanced_toolbar_location') != 'external') return;

        if (!document.getElementById('externalToolbarWrapper')) $(document.body).prepend('<div id="externalToolbarWrapper"></div>');

        var $toolbar = $('#'+this.editor.id + '_external');

        // inserts the external toolbar in the external wrapper
        $('#externalToolbarWrapper').append('<div id="replacementDiv"></div>');

        $('#replacementDiv').replaceWith($toolbar.show());
        $toolbar.css('top','0px');
        $toolbar.css('display','block');

        $('#' + this.editor.id + '_external_close').remove();
        $('#' + this.editor.id +'_toolbargroup').css('width', innerWidth || 800); // innerwidth is an integer value
    },

如果你不想把它放在自己的插件里,你应该调用上面的代码onInit(在这里使用setup configuration parameter

   setup : function(ed) {
      ed.onInit.add(function(ed) {
          // place your code here
      });
   },

答案 1 :(得分:0)

如果你想尝试这个,那就更容易和简短

setup:function(ed){
    ed.onInit.add(function(ed, evt){
        $toolbar = $('#'+ed.id+'_external');
        $toolbar.hide().appendTo('yourExternalDiv');
    });
}

“Munsif Mulla”