2015-03-07 5 views
0

Я хочу изменить все внешние ссылки в своем блоге (blogspot здесь, вот почему я ищу код jQuery), не изменяя размещение моего блога, потому что мне нужно много работы, если я это сделаю что.Измените все внешние ссылки с помощью jQuery

Например, мой сайт example.com. Я хочу изменить все внешние ссылки на

http://example.com/p/go.html?url=http://externallink.com 

без необходимости каких-либо изменений на моем блоге. Я не знаю, с чего начать.

SOLVED: https://gist.github.com/2342509 Спасибо всем: D Мне просто нужно немного изменить его.

ответ

1

В JQuery вы можете попробовать:

// DOM ready 
$(function(){ 
    $('a[target="_blank"]').prop('href', 'http://example.com/p/go.html?url=http://externallink.com'); 
}); 

Ofcourse это будет работать только если вы установили target="_blank" свойство/атрибут в HTML и если вы хотите, чтобы все ссылки, чтобы открыть один и тот же URL. Эта идея проистекает из того факта, что вы хотите, чтобы внешние ссылки открывались автоматически в другой вкладке/окне.

Если это не требуемая функциональность, вы можете использовать собственный атрибут data- аналогичным образом. Разница только в том, что вам нужно будет зациклировать каждую ссылку и получить данные от нее.

// DOM ready 
$(function(){ 
    $('a[data-href]').each(function(){ 
     var anc = $(this), 
      href = anc.prop('href'), 
      dataHref = anc.data('href'); 

     anc.prop('href', href + '?url=' + dataHref); 
    }); 
}); 

HTML пример:

<a href="http://example.com/p/go.html" data-href="http://externallink.com">external link</a> 

И теперь вы, вероятно, необходимо добавить дополнительную информацию, если это еще не то, что вы хотите.

+0

Upvoted. Это должно сработать. – Gogol

+1

Ну, я не уверен. OP не предоставляет эту информацию, и ключ находится внутри его собственного домена (example.com?), Запуская внешнюю ссылку через его страницу 'go.html'. Теперь интересно, что там будет?^ –

+0

'' Должен позаботиться об этом :) – Gogol

0

Уходя ответа Vermaelan @ Тим, вы могли бы попробовать это, который будет проверять все ссылки, которые не начинаются с URL вашего веб-сайта, не полагаясь на это время target="_blank":

$('a:not([href^="http://yoursite.com"])').prop('href', 'http://example.com/p/go.html?url=http://externallink.com'); 
Смежные вопросы