2011-07-11 43 views
1

有没有办法修改CKEditor的图片对话框来默认显示上传标签,而不是图片信息标签?CKeditor默认选择图片对话框中的上传标签

我试着通过添加一行代码到对话框的onload这样做:

onLoad: function() { 
    this.getDialog().selectPage('Upload'); 
} 

这似乎做工精细,我可以将图片上传到服务器,但作为一旦我点击确定按钮,我就会得到一个许可被拒绝的错误。

我也尝试过CKSource describes的方式,但这给了我一个例外,因为它覆盖了onShow方法。

http://docs.cksource.com/CKEditor_3.x/Howto/Default_Dialog_Tab

回答

4

正如您所注意到的,文档中的示例已损坏,因为Image插件已经有一个onShow()方法。

诀窍是链这样的方法:

CKEDITOR.on('dialogDefinition', function(e) { 
    if (e.data.name == 'image') { 
     var dialog = e.data.definition; 
     oldOnShow = dialog.onShow; 
     dialog.onShow = function() { 
      oldOnShow.apply(this, arguments); 
      this.selectPage('Upload'); 
     }; 
    } 
}); 
+2

如果您希望CKEditor在双击图像时不切换到上传标签,请添加:if(this.imageEditMode === false){this.selectPage('Upload'); }' – deflomu

+0

好!我不得不使用'upload'代替'Upload' –

+0

如果你可以**赋值给未声明的变量oldOnShow **错误改变'oldOnShow ='到'var oldOnShow ='' – user82320

5

加入this.selectPage('Upload');到图像插件

+0

它为我工作,但与'“upload''而不是'” Upload'' .... –

+0

这样的回答表明修改核心的CKEditor文件,这可能会工作,但将是一个维护问题下一次ckeditor更新您的更改将继续。 Roger Keays下面的答案是处理默认选项卡的正确方法。记下榆树的评论。 – user82320

+0

我改变了答案,谢谢 – Mark

1

本文档介绍如何设置你的CKEditor配置默认对话框选项卡的昂秀功能的一端固定这用户遵循脚本。

<script type="text/javascript"> 

    CKEDITOR.on('dialogDefinition', function(ev) { 

    var dialogName = ev.data.name; 
    var dialogDefinition = ev.data.definition; 

    if (dialogName == 'image') { 
     dialogDefinition.onShow = function() { 
      // This code will open the Upload tab. 
      this.selectPage('Upload'); 
     }; 
    } 
}); 
</script> 
+0

此链接不起作用。显示Msg“对不起!此网站遇到技术问题。” –

0

可以: