Shishimushi

JavaScriptなリンクをバックグラウンドで開く

タイトルが変だ。えっと、例えば、mixi日記の画像をクリックすると、次のような感じで画像がポップアップされるんだけど、

mixi日記の画像(サイズや位置は若干変えてあります)

うざいよね。で、それが嫌だからミドルクリックで画像を開いても javascript:void(0) というページが開かれるだけで、肝心の画像が見られない。いや、ポップアップがうざくて同一窓で開きたいという話ならusopionさん新ウィンドウ禁止スクリプト導入すれば万事解決なんだけどさ、僕が言いたいのはそういうリンクをミドルクリックした時も、普通のリンクと同じようにバックグラウンドで開いて欲しいなぁ、とまあこういうわけで、それを実現してくれる UserJS がありますよということですはい。具体例が微妙で説明が冗長だ。

下の方のStoen氏が上げてくれているファイル(middleclickJSOverride.js)がそれ。a要素のherf属性に javascript:void(0) なんて素敵な値が設定されていても、ミドルクリックでウィンドウをバックグラウンドに開くことができる。リンクによっては例外もあるかもしれないけど、Stoen氏曰く、

Script should now work from almost every type of link, the only obvious exception I can come up with is a link that submits a form through javascript

Middle clicking javascript links - User JavaScript - Opera Community

らしい(詳しくは調べていない)。

なお、Operaのポップアップの設定で「すべてのポップアップを無効にする」にしていたり、JavaScriptオプションの「ウィンドウの強制非表示を許可する」のチェックが外れていると動作しない。また、この UserJS を導入すると、ミドルクリックで開いたタブ全てのアドレスバーが非表示になるので、ミドルクリックでリンクを開く習慣のある人には不向きかもしれない(タブバーの上にアドレスを表示している場合は大丈夫)。

投稿者:芦塚 | 投稿日時: 2007年 3月7日(水) 00:18

 トップページ 次へ