有一个类似的问题adding attribute to url for Summernote。
但它没有增加选择目标的可能性,只是将其设置为空白。
有没有办法在链接弹出窗口中添加“目标”?
//IE: createLink when range collapsed.
if (agent.bMSIE && rng.isCollapsed()) {
rng.insertNode($('<A target="_blank" id="linkAnchor">' + sLinkUrl + '</A>')[0]);
var $anchor = $('#linkAnchor').removeAttr('id')
.attr('href', sLinkUrlWithProtocol);
rng = range.create($anchor[0], 0, $anchor[0], 1);
rng.select();
} else {
document.execCommand("insertHTML",false,'<a target="_blank" href="'+sLinkUrlWithProtocol+'">'+sLinkUrl+'</a>');
}
答案 0 :(得分:1)
您需要做几件事:
1) 在第2112行(aprox),你会发现:
'<div class="form-group">' +
'<label>' + lang.link.textToDisplay + '</label>' +
'<span class="note-link-text form-control input-xlarge uneditable-input" />' +
'</div>' +
添加以下代码:
'<div class="form-group">' +
'<label>' + lang.link.target + '</label>' +
'<select class="note-link-target form-control col-md-5" id="link-target"><option value="_self">Same page</option><option value="_blank">New page</option></select>' +
'</div>' +
2)第1331行(aprox)包含这些var定义:
var $linkText = $linkDialog.find('.note-link-text'),
$linkUrl = $linkDialog.find('.note-link-url'),
$linkBtn = $linkDialog.find('.note-link-btn');
添加:
$linkTarget = $linkDialog.find('.note-link-target'),
3)第2357行(aprox)具有链接定义:
link: {
link: 'Link',
insert: 'Insert Link',
unlink: 'Unlink',
edit: 'Edit',
textToDisplay: 'Text to display',
url: 'To what URL should this link go?'
},
添加
target: 'Target'
到列表
4)最后:第1011行(aprox)将注释'// IE'中的代码替换为'if'的末尾。
//IE: createLink when range collapsed.
var target = $("#link-target").val();
if (agent.bMSIE && rng.isCollapsed()) {
rng.insertNode($('<A target="'+target+'" id="linkAnchor">' + sLinkUrl + '</A>')[0]);
var $anchor = $('#linkAnchor').removeAttr('id')
.attr('href', sLinkUrlWithProtocol);
rng = range.create($anchor[0], 0, $anchor[0], 1);
rng.select();
} else {
document.execCommand("insertHTML",false,'<a target="'+target+'" href="'+sLinkUrlWithProtocol+'">'+sLinkUrlWithProtocol+'</a>');
}
答案 1 :(得分:0)
是的,只需修改生成的html即可包含动态目标。
rng.insertNode($('<A target="' + mytarget + '" id="linkAnchor">' + sLinkUrl + '</A>')[0]);
和
document.execCommand("insertHTML",false,'<a target="' + mytarget + '" href="'+sLinkUrlWithProtocol+'">'+sLinkUrl+'</a>');