2013-12-18 2 views
0

Я использую summernote, и у меня возникли проблемы с добавлением атрибутов в Link. Как я могу добавить target="_blank" rel="nofollow" в вставленный url?добавление атрибута url для Summernote

Я нашел эту линию, где-то на линии 977:

sLinkUrlWithProtocol = sLinkUrl.indexOf('://') !== -1 ? sLinkUrl : 'http://' + sLinkUrl; 

Я попытался добавить + цель = „_blank“ "до конца. В результате был мусор, показывая это:

http://sample.comtarget%3D%27_blank%27/ 
+0

Попробуйте изменить строку 982: 'rng.insertNode ($ ('' + sLinkUrl + '') [0]); ' – Krzysiek

+0

Я добавил это в строку, но ничего не сделал. Эта строка находится в условии if для IE, я думаю, и я использую chrome и firefox, чтобы эта строка прошла. –

ответ

1

Мой полное решение (возможно, рабочий) =] Строки 980 - 989

//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

Это добавляет target = '_ blank', но заменяет выделенный текст на введенный url. Поэтому, если я выделил текст, скажу «тестирование» и введя «google.com» в поле url, результатом будет «google.com». Кажется, я не могу найти переменную, содержащую выделенный текст. –

+1

хорошо, это работает 'document.execCommand (" insertHTML ", false, ''+rng+'');' –

Смежные вопросы