リンクのテキストを絶対的な `href` URLに置き換える方法は?


2

FirefoxまたはGoogle Chromeの拡張機能を使用して、ページ上のすべてのリンクを次のように変更するにはどうすればよいですか?

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

になる

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

編集

TampermonkeyはGoogle ChromeのGreasemonkeyの代替品です。


拡張機能が必要ですか?
-soandos

重要ではない。別のアプローチを提案できます。
Kerberos

なぜあなたはすぐに開始タグを閉じ<a … /> </a>ますか?そのHTML構文はどこから入手しましたか?
slhck

@slhck質問を整理しました。:)
iglvzx

@slhckは質問を片付けてくれてありがとう。
Kerberos

回答:


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
クレイジー。驚くばかり。すごい!
ヒンクル

@nhinkleスパイダーマンがかつて言ったように、「1337スキルズには大きな責任が伴います」。
iglvzx

1
エイブラハム・リンカーンがかつて言ったように、「インターネットは驚くべきものです。」
ヒンクル

これはブックマークレットとして良いかもしれません-クリックしてURLを表示します。これにより、必要になるまでページレイアウトがそのまま維持されます。
ボブ

Greasemonkeyアイコン/メニューがツールバーにある場合、クリックするだけでスクリプトをすばやく有効/無効にできます。
iglvzx

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

コピーしてアドレスバーに貼り付けるだけです。実際のリンクとして追加すると、何かが壊れるようです。Markdown HTMLの両方として!


いいね 良いアイデア。:)
iglvzx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.