2005 年 08 月 01 日の記事を並べています。 コメント投稿欄およびトラックバック送信欄は個別記事にのみ表示していますので、コメントやトラックバックを送る場合はそれぞれの記事の「コメントを投稿する」「トラックバックを送信する」のアンカーをクリックしてください。
JILS New Live DVD "Re-BIRTHDAY "EVE" -20060502-"
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 の変更だけに留めていただきたいものです。
現在の hxxk.jp の CSS は、
<div class="section" id="menu">
~
</div>
部分 ( これ以降サイドバー部分と呼びます ) に 250px の幅を持たせ、それ以外の部分は左側に 265px ないし 270px の余白を持たせて 2 段組のように表示させています。
さて、 hxxk.jp を見ているときにそのサイドバー部分が邪魔だ、と思った場合にはどうすれば良いのでしょうか。 サイドバーを使っていないスタイルが代替 CSS で提供されていれば、代替 CSS に対応している UA であれば素早く非表示にすることもできますが、現時点でそのような代替 CSS は提供していません。 いずれは提供したいなと思いつつ手付かずです……。
制作者 ( 私 ) の対応に期待しない手法であれば、ユーザースタイルシートを使用するという方法もあります。 CSS Signature を付けていますので、
body#hxxk.jp{
padding-left: 0 !important;
}
body#hxxk.jp div#menu{
display: none;
}
とユーザースタイルシートに記述すれば、サイドバー部分を非表示にすることだけはできます。 サイドバー部分を通常は非表示にしたいが、見たい時だけ一時的に表示したいと思った場合、ブラウザの CSS 自体をオフにするか、ユーザースタイルシートの記述を一時的に無効にする必要があります。
今回いわいさん ( None ) が作成した Greasemonkey スクリプトは、まさにそのような「必要なときだけ」表示するようにできるユーザースクリプトです。
このスクリプトを有効にした状態で hxxk.jp の記事を開くと、サイドバー部分は非表示になり、画面左上に Sidebar というボタンが表示されます。
そのボタンをクリックすることで、サイドバー部分が本来の表示に戻ります。
こういうものは手元でなんとかすればいい
ということで、おそらく自分用に作られたものであると思います。
しかし、この必要な時以外はサイドバー部分を非表示にしておけるというのは、意外と便利です。 本当はこういうものを使わなくても読みやすいデザインを目指すか、または自分でスクリプトを用意するかすべきなんでしょうけど、漁夫の利で自分もこれを使わせてもらうことにします。
Greasemonkey スクリプトとして作られているため、 Firefox がインストールされている必要があります。
また、 Firefox に greasemonkey という拡張機能がインストールされている必要があります。 ( Greasemonkey 自体については Greasemonkey - Firefox まとめサイトを、インストール方法についてははてなグリースモンキー(Greasemonkey) - Greasemonkeyの使い方を参考にすると良いでしょう。 なお、 Greasemonkey はブラウザではないでも触れた通り、バージョン 0.3.3 以前のものには脆弱性が存在します。 今回インストールする場合は問題ありませんが、過去にインストールしたまま使用している方は 0.3.5 にアップデートするようにしてください。 )
また、スクリプトへのリンクアンカーを補助クリックしてコンテキストメニューを開き、直接 Install User Script... を選択するという方法もあります。
Copyright 2005 IWAI, Masaharu. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY IWAI, Masaharu ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IWAI, Masaharu OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ということなので、ちょっとカスタマイズして他のサイト用のものを作ってみようかなあ。 自分用だけで使うか、公開するかは考えていませんが。
いわいさんの作った Greasemonkey スクリプトの導入手順をスクリーンショット付きで解説。
まだコメントは寄せられていません。 コメントを投稿する
まだトラックバックは寄せられていません。 トラックバックを送信する
はてなグループ - 方言キーワードで書いていたとおり、参加しようと思ったので申請を出し、無事受理されました。 キーワード登録を活動のメインとし、グループ日記は登録したキーワードのメモおよび気付いた点や疑問点のメモに活用していこうと思っています。 ただ、福岡県でも南部に位置するところに住んでいるため、正当な (?) 博多弁ではありません。 福岡市あたりに住んでいる方が参戦して、適宜補足したり訂正してくれたりすると助かるのですが。
グループ日記を方言で書くことにより、次にキーワード登録する方言を思いつくという連鎖によって登録していこうと思いますが、方言キーワード - 福岡県南キーワード最前線 - グループへの参加申請が受理されたとよ。を書いた時点で、まだまだ登録すべき方言が全部終わっていません。 意識してのんびりやらないと、嵌りそうですねえ。
ところで、方言キーワード - 福岡県南キーワード最前線 - グループへの参加申請が受理されたとよ。はこれでもかというくらい方言丸出しで書いていますが、はたして他県の方にちゃんと意味が通じるだろうか、とちょっと不安になってきました。 どなたか標準語訳にチャレンジして、この記事までトラックバックを送ってみませんか ?
まだコメントは寄せられていません。 コメントを投稿する
まだトラックバックは寄せられていません。 トラックバックを送信する
コメント
2 件のコメントが寄せられています。 コメントを投稿する
トラックバックありがとうございました。
target属性は自サイト内は_top、他サイトは_blankという使い分けをしていたんですが、
なるほど「新しいウィンドウが開かない方が良い」という考え方もあるわけですね。
ちなみに自分のweblogの変更だけに留めて欲しい、というのはどういったご指摘でしょうか?
「新しいウィンドウで開きたい」場合は ( 例えば Windows + IE であれば ) Shift キー + リンクアンカークリックで済むのですが、「新しいウィンドウで開きたくない」場合は少々面倒臭いのが現状なんですよね。そういう理由もあり、「新しいウィンドウで開きたいと思ったら自分で操作するから、作成者側で指定される必要はないよ」という考えを持っています。
後半部分についてのレスは http://hxxk.jp/2005/09/28/2318 にて。