Destroy target="_blank"

http://hxxk.jp/2005/08/01/2358

記事データ

投稿者

望月真琴

投稿日時

2005-08-01T23:58+09:00

タグ
概要

ガッデムな target="_blank" を Greasemonkey スクリプト で Destroooooooooooooooooooy !!!

リプライ

3 件のリプライがあります。

記事本文

target="_blank" なリンクの target 属性を無くす Greasemonkey スクリプト

Disable sidebar for hxxk.jp で Greasemonkey について触れたので、他にも何か便利なスクリプトが無いだろうかと探してみて見つけたのがこのスクリプト。 以前は Tabbrowser Extensions のシングルウィンドウモードを使用していたのですが、それは一旦別ウィンドウで開かれたページを現在のウィンドウに引き戻すことでシングルウィンドウを実現しているため、動作の遅さは否めません。 ( シングルウィンドウだけが Tabbrowser Extensions の売りというわけではないので、それはそれで構わないと思いますが。 )

それに比べると、あらかじめ HTML 内から target="_blank" を取り除くというのはシンプルで動作も軽いため、重宝しそうなスクリプトです。

なお、 Firefox 1.5 では標準のオプションで同じことが実現できますので、 Firefox 1.5 をお使いであればスクリプトの導入は不要です。

導入前にちょっとした準備

しかし、このスクリプトは効果が大きい割に、それが目に見えにくいという点があります。 そこで、スクリプトを導入する前の状態において、 target="_blank" なリンクを視覚化して Before/After を比較してみようと思います。 Before/After はどうでもいい、という方はこの項を飛ばして How to destroy target="_blank" を読んで下さい。

ユーザースタイルシートを用いて、 target="_blank" が設定されたリンクについては after 擬似要素で Link target: "_blank" と表示するようにしてみましょう。 属性セレクタを用いて次のように指定します。

a[target="_blank"]:after{
  content: "Link target: "attr(target)"";
  margin-right:  1em;
  margin-left:  0.5em;
  padding-right:  0.5em;
  padding-left:  0.5em;
  border:  1px solid #0cf;
  color:  #00f;
  background:  #0ff;
  font-family:  'Trebuchet MS',Osaka,sans-serif;
}

この記述を Profile Directory/chrome/userContent.css に書き加えてください。 ( なお、コンテキストメニュー拡張の、グローバルユーザースタイルシートの編集機能を用いると簡単に userContent.css を編集できます。 )

target="_blank" が設定されたリンクだけ after 擬似要素が出現 userContent.css を編集後、 Firefox を再起動して target="_blank" が設定されたリンクを含むページを開くと、スクリーンショットのような表示になるはずです。

How to destroy target="_blank"

Greasemonkey を使うための環境や導入手順については Disable sidebar for hxxk.jp - 使用するための環境および導入手順で触れたので省略します。

  1. I want my window, dammit! (or how to destroy target _blank) を Firefox で開く
  2.  Then visit this wonder という部分の this wonder をクリックしてスクリプトを表示する
  3.  ツール(T) をクリックし、 Install User Script... をクリック
  4.  OK をクリック

 また、 this wonder のリンクアンカーを補助クリックしてコンテキストメニューを開き、直接 Install User Script... を選択するという方法もあります。

target="_blank"? そんなもの……クソ喰らえだ ! そんなものは見えやしね―――――!! デストロ―――――イ !!

デストロ―――――イ !! といったら某ゴスロリサイトを思い出すのですがまあそれはさておき。

 今回紹介したスクリプトは、まさに target="_blank" をさも最初から無かったかのようにしてしまう、非常にありがたいスクリプトです。 導入前にちょっとした準備をしていた方は、 Link target: "_blank" の表示がされていたリンクから、 Link target: "_blank" が無くなっていることが分かるはずです。

target="_blank" なんか指定されていなくても、新しいウィンドウや新しいタブで開きたい時は自分の意志でそうなるように操作しますし、逆に新しいウィンドウを開きたくないときに target="_blank" によって強制的に新しいウィンドウを開かせられるとストレスが溜まります。

まだまだ target="_blank" を使っているサイトは多いので、しばらくはこのスクリプトを存分に活用することになりそうです。

トラックバック送信先

MovableType3.2β2:日々是発見

target="_blank" をどうにかして無効化したいと思うユーザもいます。 好き好んで target="_blank" を加えるのなら、ご自身の weblog の変更だけに留めていただきたいものです。

リプライ

3 件のリプライが送られています。

2005-08-03T17:57+09:00 - 閲覧方法は訪問者に委ねる < SEOについての覚書

HTMLのリンク(aタグ)には、ターゲット属性というものがあってリンク先のページ...

2005-09-29T00:19+09:00 - Eggplant

トラックバックありがとうございました。 target属性は自サイト内は_top、他サイトは_blankという使い分けをしていたんですが、 なるほど「新しいウィンドウが開かない方が良い」という考え方もあるわけですね。 ちなみに自分のweblogの変更だけに留めて欲しい、というのはどういったご指摘でしょうか?

2005-10-02T21:28+09:00 - 真琴

「新しいウィンドウで開きたい」場合は ( 例えば Windows + IE であれば ) Shift キー + リンクアンカークリックで済むのですが、「新しいウィンドウで開きたくない」場合は少々面倒臭いのが現状なんですよね。そういう理由もあり、「新しいウィンドウで開きたいと思ったら自分で操作するから、作成者側で指定される必要はないよ」という考えを持っています。 後半部分についてのレスは <a href="http://hxxk.jp/2005/09/28/2318">http://hxxk.jp/2005/09/28/2318</a> にて。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など