如何用绝对“href”URL 替换链接的文本?

如何用绝对“href”URL 替换链接的文本?

使用 Firefox 或 Google Chrome 扩展程序,如何修改页面上的所有链接,以便

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

变成

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

编辑

坦普猴油脂猴Google Chrome 的替代品。

答案1

我给你写了一个简单的油脂猴要替换
<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 可能很长,这会破坏大多数页面布局。

例子

答案2

以下是基于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

只需复制并粘贴到地址栏即可。添加实际链接似乎会破坏某些东西。由于 MarkdownHTML 也一样!

相关内容