Django输入域名默认的HTML,Django CKEditor 给 a tag(标签)添加 target 默认值

启发文档

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

// Take the dialog name and its definition from the event data.

var dialogName = ev.data.name;

var dialogDefinition = ev.data.definition;

// Check if the definition is from the dialog window you are interested in (the "Link" dialog window).

if ( dialogName == 'link' ) {

// Get a reference to the "Link Info" tab.

var infoTab = dialogDefinition.getContents( 'info' );

console.log(infoTab);

// Set the default value for the URL field.

var urlField = infoTab.get( 'url' );

urlField[ 'default' ] = 'www.example.com';

}

});

我的思路

把上面实现的原理分析,默认的 url 是怎么加进去的。

在 django ckeditor 的 config.js 的代码中,我加了几个 console.log 得到结果:

9babb1a07d7ed977ea8262ed44c1d8b2.png

就是两次 get 元素 id,得到需要的节点,再设置这个节点的默认值。

再看 超链接 的 目标 选项卡的值:

2bbdc249fc14ab95e2b6fcd22bbcf225.png

从这里也能看出 目标 窗口页面的默认值要获取的 id 是 linkTargetType,获取它要给它设置 default,就可以达到想要的目的。

实现代码

CKEditor config.js 代码路径:../lib/python3.6/site-packages/ckeditor/static/ckeditor/ckeditor/config.js

config.js 修改完后要重新收集静态文件部署,正式环境才能使用。而 debug 环境直接改 config.js 的源码就可以使用。

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

// Take the dialog name and its definition from the event data

var dialogName = ev.data.name;

var dialogDefinition = ev.data.definition;

if (dialogName == "link") {

// Get a reference to the "Link Info" tab.

var infoTab = dialogDefinition.getContents('info');

console.log(infoTab);

// Set the default value for the URL field.

var urlField = infoTab.get('url');

urlField['default'] = 'https://xieboke.net/';

// Set the default value for the linkTargetType(目标窗口默认值)

var targetTab = dialogDefinition.getContents('target');

console.log(targetTab);

var targetField = targetTab.get("linkTargetType");

console.log(targetField);

targetField["default"] = "_blank";

}

})

额外发现

django ckeditor 的 config.js 里面的 dialogDefinition 有几个常用方法:

dialogDefinition.onOk(点击 确定 的时候)

dialogDefinition.onShow(展示弹框的时候)

dialogDefinition.onCancel(点击 取消 的时候)

其他实现方法

直接改掉 ../lib/python3.6/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/link/dialogs/link.js 里 id 为 linkTargetType 的 default 的值:

type : 'select',

id : 'linkTargetType',

label : commonLang.target,

'default' : '_blank',

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值