リンクに target="_blank" を追加する JavaScript
 はてブのホッテントリのページから各サイトへのリンクが、いつの間にか同ウィンドウ内で開かれるように変更されていた。個人的に、リンクページは新規のタブ(ウィンドウ)で開いて欲しいので、こんな感じのスクリプトを GreaseMonkey にを追加。
(注:エキサイトブログでは、「document.」(実際は半角)という文字列の使用が禁止されてるので、
var doc = document;
なんて面倒臭い書き方してるけど、実際はそんなことせずに
var items = document.evaluate(... 
としてOK。(ちなみに、上のは全角文字で書いた。))


// ==UserScript==
// @name addTargetBlankToHatenaBookmark
// @namespace http://fkmn.exblog.jp/
// @include http://b.hatena.ne.jp/*
// ==/UserScript==

(function(){
var doc = document;
var expr = '//a';
var items = doc.evaluate(
expr, document, null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null
);

for (var i = 0, l = items.snapshotLength; i < l; i++){
items.snapshotItem(i).target = '_blank';
}
})();

 タブブラウザ使ってると、リンクは基本的に新規タブで開いて欲しくなるので、この手のスクリプトはちょくちょくいじって、いろんなサイトで使ってる。target="_blank" を追加するリンクを選択したい場合は、以下のように、正規表現を使って判定するヨロシ。

(function(){
var doc = document;
var expr = '//a';
var items = doc.evaluate(
expr, document, null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null
);

for (var i = 0, l = items.snapshotLength; i < l; i++){
var a = items.snapshotItem(i);
var url = decodeURIComponent(a.getAttribute("href"));
if (url.match(/foo/)){ // ここで判定
a.target = "_blank";
}
}
})();

[PR]
by fkmn | 2007-06-02 23:05 | IT
<< reduce(l|r)をRub... ジェームズ・D・ワトソンが自分... >>


とあるWebアプリケーションエンジニアの日記
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
プログラミングが「出来る..
from とりあえず9JP?
Genographic ..
from ナンジャモンジャ
ジュセリーノ
from ありの出来事
くちこみブログ集(ライフ..
from くちこみブログ集(ライフ)(..
以降、丁寧語で行こう!
from エッセイ的な何か
人気ジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX