【问题标题】:vBulletin / CKEditor Plugin Disabled in Source ModevBulletin / CKEditor 插件在源代码模式下被禁用
【发布时间】:2014-07-25 00:31:12
【问题描述】:

我有这个插件,我想在 WYSIWYG 和 Source 模式下启用它。这是简单的代码:

(function()
{
    CKEDITOR.plugins.add('oovideo',
    {
        init : function(editor)
        {
            editor.addCommand('oovideo', new CKEDITOR.dialogCommand('oovideo'));
            editor.ui.addButton('OOVideo',
            {
                label: 'OOVideo',
                command: 'oovideo',
                icon: 'http://www.google.com/favicon.ico',
                modes : { source : 1, wysiwyg : 1, enhancedsource : 1 }
            });

            CKEDITOR.dialog.addIframe(
                'oovideo',
                'OOVideo',
                'http://www.example.com/', 450, 500,
                null, null 
            );
        }
    });
})();

目前该按钮仅在 WYSIWYG 模式下才会拉出 iFrame 对话框。

因为我在按钮控件中添加了modes : { source : 1, wysiwyg : 1, enhancedsource : 1 },所以按钮不是在所有模式下都是灰色的,而是按钮只会在所见即所得模式下起作用。

我在这篇文章中发现了一些提示:

CKEditor plugin button disabled in source mode

似乎我必须在editor.addCommand() 调用中包含modes 变量,但我在该参数空间中传递了一个CKEDITOR.dialogCommand 对象而不是JS 代码。

传递对话框对象和模式参数的最佳方式是什么?感谢您的帮助!

【问题讨论】:

    标签: javascript ckeditor vbulletin


    【解决方案1】:

    我找到了解决方案 - 可以将 editor.addCommand 分配给一个变量,然后将 modes 属性添加到新的一行。

    var command = editor.addCommand('tgroovideo', new CKEDITOR.dialogCommand('tgroovideo'));
    command.modes = { wysiwyg:1, enhancedsource:1 };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多