2014-01-14 54 views
0

還有類似的問題adding attribute to url for SummernoteSummernote - 將_blank或_self添加到鏈接

但它不增加選擇目標的可能性,它只是將其設置爲空白。

有沒有辦法將「目標」添加到鏈接彈出?

//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>'); 
} 

回答

1

有你需要做的幾個竅門:

1) 在2112線(近似),你會發現:

  '<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線(近似)cointains這些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(近似)的鏈接定義:

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>'); 
    } 
0

是的,只需修改生成的html以包含動態目標。

rng.insertNode($('<A target="' + mytarget + '" id="linkAnchor">' + sLinkUrl + '</A>')[0]); 

document.execCommand("insertHTML",false,'<a target="' + mytarget + '" href="'+sLinkUrlWithProtocol+'">'+sLinkUrl+'</a>'); 
+0

沒有。還將「mytarget」添加到模態窗口代碼和「鏈接」屬性中。 但我不知道「mytarget」變量傳遞給解析器函數的位置 – Yeken