[英]ckeditor default target link=“ _blank” not work properly
我的 ckeditor 版本是 4.4.7
我想将默认目标更改为我添加到 ckeditor 的文本的每个链接,我找到了这段代码
CKEDITOR.on('dialogDefinition', function(ev) { try { var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; if (dialogName == 'link') { var informationTab = dialogDefinition.getContents('target'); var targetField = informationTab.get('linkTargetType'); targetField['default'] = '_blank'; } } catch (exception) { alert('Error ' + ev.message); } }); CKEDITOR.on('instanceReady', function(ev) { var editor = ev.editor, dataProcessor = editor.dataProcessor, htmlFilter = dataProcessor && dataProcessor.htmlFilter; htmlFilter.addRules({ a: function(element) { element.attributes['target'] = "_blank"; } }); });
我将此代码添加到 ckeditor 文件夹的 link.js 文件中,它工作正常但不正确
我的意思是,如果我将具有从 word 链接到编辑器的文本复制,它不会自动将 target_blank 添加到 href
但我必须点击它的“编辑链接”并查看 _blank 上已经存在的默认目标
然后我点击确定并保存然后它就可以工作了。
但我希望它在我从 word 复制的每个链接上自动设置 target="_blank" 。
任何人都可以帮忙吗?
谢谢。
你把你的代码放在哪里?
我变了
type : 'select',
id : 'linkTargetType',
label : commonLang.target,
'default' : 'notSet',
在_source\\plugins\\link\\dialogs\\link.js
到
type : 'select',
id : 'linkTargetType',
label : commonLang.target,
'default' : '_blank',
这很好用。
在插件文件中进行编辑并不是一个理想的解决方案。
最好的解决方案是将其添加到您的 js 文件中
CKEDITOR.on( 'dialogDefinition', function( ev ) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if ( dialogName == 'link' ) {
var targetTab = dialogDefinition.getContents( 'target' );
var targetField = targetTab.get( 'linkTargetType' );
targetField[ 'default' ] = '_blank';
}
});
我将此代码添加到 ckeditor 文件夹的 link.js 文件中,它工作正常但不正确
如果您初始化编辑器,而不是在link.js
文件中,您可以直接在 HTML 页面上使用此代码:
var editor = CKEDITOR.replace( 'editor1', { });
CKEDITOR.on('dialogDefinition', function(ev) {
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.