2

Используя расширение для Firefox или Google Chrome, как я могу изменить все ссылки на странице так, чтобы

<a href="www.google.com">Google</a>

становится

<a href="http://www.google.com">http://www.google.com</a>

?

РЕДАКТИРОВАТЬ

Tampermonkey - это альтернатива Greasemonkey для Google Chrome.

2 ответа2

8

Я написал вам простой скрипт пользователя Greasemonkey для замены
<a href="URL">TEXT</a> с <a href="ABSOLUTE_URL">ABSOLUTE_URL</a>:

// ==UserScript==
// @name        Replace Link Text with URL
// @namespace   http://igalvez.net
// @description Replaces <a href="URL">TEXT</a> with <a href="ABSOLUTE_URL">ABSOLUTE_URL</a>
// @version     1.0
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==

$("a").each(function() {
    var url = this.href;
    $(this).attr('href', url);
    $(this).text(url);       
});

Примечание. Это нарушит большинство макетов страниц, поскольку URL-адреса могут быть довольно длинными.

пример

1

А вот версия букмарклета, основанная на ответе iglvzx. Преимущество букмарклета в том, что страница будет выглядеть нормально до тех пор, пока не будет нажата кнопка (ссылка). Как отметил iglvzx, URL-адреса имеют тенденцию быть длинными и ломать макеты страниц.Конечно, его версию Greasemonkey можно включить постоянно для каждой страницы. Основным отличием является то, что Greasemonkey предназначен для работы в большинстве случаев, в то время как букмарклет отключен в большинстве случаев. Это не зависит от браузера, пока работают закладки JQuery и JavaScript.

javascript:(function(e,a,g,h,f,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/"+g+"/jquery.min.js";c.onload=c.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}})(window,document,"1.3.2",function($,L){$("a").each(function(){var%20a=this.href;$(this).attr("href",a);$(this).text(a)});});

Сделано с помощью этого инструмента.

Вы можете добавить в виде букмарклета ссылку, доступную по следующей ссылке:

http://benalman.com/code/test/jquery-run-code-bookmarklet/?name=Run+jQuery+Code&ver=1.3.2&code=%24%28%22a%22%29.each%28function%28%29{var+a%3Dthis.href%3B%24%28this%29.attr%28%22href%22%2Ca%29%3B%24%28this%29.text%28a%29}%29%3B

Просто скопируйте и вставьте в адресную строку. Добавление в качестве фактической ссылки, кажется, что-то сломать. Как и уценка, так и HTML тоже!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .