http://hxxk.jp/2005/08/01/2358
日付が古い記事の場合、後からより正確な内容の記事が書かれていることがあります。 「関連のある記事」を合わせてご覧いただくか、または検索フォームにて同様の記事がないか検索していただけると幸いです。
実践 Web Standards Design - Web 標準の基本と CSS レイアウト &Tips を共著で執筆しました。
( サンプルファイルの修正済みアーカイブ : zip形式、 2,922,295 バイト )
target="_blank" なリンクの target 属性を無くす Greasemonkey スクリプトDisable sidebar for hxxk.jp で Greasemonkey について触れたので、他にも何か便利なスクリプトが無いだろうかと探してみて見つけたのがこのスクリプト。 以前は Tabbrowser Extensions - outsider reflex">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 を編集できます。 )
userContent.css を編集後、 Firefox を再起動して
target="_blank"
が設定されたリンクを含むページを開くと、スクリーンショットのような表示になるはずです。
target="_blank"Greasemonkey を使うための環境や導入手順については Disable sidebar for hxxk.jp - 使用するための環境および導入手順で触れたので省略します。
Then visit this wonderという部分の this wonder をクリックしてスクリプトを表示する
また、 this wonder のリンクアンカーを補助クリックしてコンテキストメニューを開き、直接 Install User Script... を選択するという方法もあります。
target="_blank"? そんなもの……クソ喰らえだ ! そんなものは見えやしね―――――!! デストロ―――――イ !!デストロ―――――イ !! といったら某ゴスロリサイトを思い出すのですがまあそれはさておき。
今回紹介したスクリプトは、まさに
target="_blank"
をさも最初から無かったかのようにしてしまう、非常にありがたいスクリプトです。
導入前にちょっとした準備をしていた方は、
Link target: "_blank"
の表示がされていたリンクから、
Link target: "_blank"
が無くなっていることが分かるはずです。
target="_blank"
なんか指定されていなくても、新しいウィンドウや新しいタブで開きたい時は自分の意志でそうなるように操作しますし、逆に新しいウィンドウを開きたくないときに
target="_blank"
によって強制的に新しいウィンドウを開かせられるとストレスが溜まります。
まだまだ
target="_blank"
を使っているサイトは多いので、しばらくはこのスクリプトを存分に活用することになりそうです。
target="_blank" をどうにかして無効化したいと思うユーザもいます。 好き好んで target="_blank" を加えるのなら、ご自身の weblog の変更だけに留めていただきたいものです。
1 件のトラックバックが管理者のチェックを受け、公開されています。 トラックバックを送信する
コメントを投稿する前に、 hxxk.jp について - コメントに関することをご一読いただきますようお願いします。 また、 Movable Type に Simple API のサムネイルを組み込む手順を利用し、コメントした方のサイトのスクリーンショットを自動で取得しています、あらかじめご了承ください。 ( なお、コメント投稿時に URI を記入しなければスクリーンショットは取得されません。 )
なお、スパムコメントが多いため、投稿時にスクリプトエラーが起こる可能性が高くなっています。投稿ボタンを押す前に、コメントの内容をメモ帳等に控えておくことをおすすめします。 また、投稿が完了した後も、コメントが反映されていないように見えることがあります。 その場合はコメントを再度投稿する前に、 Ctrl+F5 (Windows の場合 ) などでリロードを行ってみてください。
トラックバック送信用のフォームです。 このフォームを使うことにより、トラックバック機能を実装していない環境の方でも hxxk.jp の記事に対してトラックバックを送ることができます。 トラックバックの送信を行う前に、 hxxk.jp について - トラックバックに関することをご一読いただきますようお願いします。 また、 Movable Type に Simple API のサムネイルを組み込む手順を利用し、トラックバック元のサイトのスクリーンショットを自動で取得しています、あらかじめご了承ください。
トラックバック機能を実装している環境の方は、このフォームを使わなくても、 あてに ping を送信することでこの記事に対してトラックバックを行うことができます。
なお、トラックバックスパムがあまりにも多いため、スパムフィルタのレベルを多少強めにかけています。 このフォームを使う・使わないに関わらず、スパムではないトラックバックもスパム判定される場合があります。 目視で確認して誤消去しないようにはしていますが、なかなかトラックバックが反映されない場合はコメントなりメールなりでお知らせください。 また、 Throttling 機能によってトラックバックの送信が一時的にできない場合もあります。 その場合もコメントなりメールなりでお問い合わせ願います。
Today:00891 Yesterday:04140 Total:009364
コメント
2 件のコメントが寄せられています。 コメントを投稿する
トラックバックありがとうございました。
target属性は自サイト内は_top、他サイトは_blankという使い分けをしていたんですが、
なるほど「新しいウィンドウが開かない方が良い」という考え方もあるわけですね。
ちなみに自分のweblogの変更だけに留めて欲しい、というのはどういったご指摘でしょうか?
「新しいウィンドウで開きたい」場合は ( 例えば Windows + IE であれば ) Shift キー + リンクアンカークリックで済むのですが、「新しいウィンドウで開きたくない」場合は少々面倒臭いのが現状なんですよね。そういう理由もあり、「新しいウィンドウで開きたいと思ったら自分で操作するから、作成者側で指定される必要はないよ」という考えを持っています。
後半部分についてのレスは http://hxxk.jp/2005/09/28/2318 にて。