正在尝试向CKEditor添加插件
我正在尝试添加一个插件,以便在添加链接时设置默认URL 我按照这里的指示: 我最终得到了:正在尝试向CKEditor添加插件,ckeditor,apostrophe-cms,Ckeditor,Apostrophe Cms,我正在尝试添加一个插件,以便在添加链接时设置默认URL 我按照这里的指示: 我最终得到了: // lib/modules/apostrophe-areas/public/js/user.js apos.define('apostrophe-areas', { construct: function(self, options) { var superEnableCkeditor = self.enableCkeditor; self.enableCkeditor =
// lib/modules/apostrophe-areas/public/js/user.js
apos.define('apostrophe-areas', {
construct: function(self, options) {
var superEnableCkeditor = self.enableCkeditor;
self.enableCkeditor = function() {
superEnableCkeditor();
CKEDITOR.plugins.addExternal('defaulturl', '/modules/my-apostrophe-areas/js/ckeditorPlugins/defaulturl/', 'plugin.js');
};
}
});
这是我的撇号areas/public/js/ckeditorPlugins/defaulturl/plugin.js
CKEDITOR.on( 'dialogDefinition', function( ev ) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if ( dialogName == 'link' ) {
var infoTab = dialogDefinition.getContents( 'info' );
var urlField = infoTab.get( 'url' );
urlField[ 'default' ] = 'www.example.com';
}
});
但是,这对我不起作用,我尝试了这里建议的方法:
但它不起作用
我所尝试和工作的是将plugin.js文件附加到撇号区域文件夹中分割插件的plugin.js末尾,但我认为这不是正确的方法
谢谢 我认为你可以通过两种方式解决这个问题: 1.如果要保留外部插件文件: 根据API包装您的代码,请参见示例及其引用的插件。您需要在plugin.js中使用
CKEDITOR.plugins.add('defaulturl',{init:…})
。不确定在修改CKEDITOR核心插件的行为时是否需要执行其他特殊操作。这就是为什么它会与下一个选项
2.如果您不需要额外的plugin.js
:
您还可以用plugin.js
文件的内容替换CKEDITOR.plugins.addExternal()
调用。我这样做是为了将默认链接目标修改为\u blank
:
///lib/modules/撇号区域/public/js/user.js
"严格使用",;
//看https://apostrophecms.org/docs/tutorials/howtos/ckeditor.html 和
apos.定义(‘撇号区域’{
构造:函数(自身、选项){
var superEnableCkeditor=self.enablecketditor;
self.enablecketditor=函数enablecketditor(){
superEnableCkeditor();
// https://docs.ckeditor.com/ckeditor4/latest/guide/dev_howtos_dialog_windows.html
CKEDITOR.on('dialogDefinition',函数重定义对话框(ev){
var dialogName=ev.data.name;
var dialogDefinition=ev.data.definition;
如果(dialogName==='link'){
var targetTab=dialogDefinition.getContents('target');
var targetField=targetTab.get('linkTargetType');
targetField.default='_blank';
}
});
};
}
});
祝你好运 多谢各位!我可以用第二种方法解决它,我想我有点搞混了,因为我是新来的编辑