ということで、日経新聞社が「リンクポリシー」なるもの*1において望んでいることを、利用者側で実現してみせるGreasemonkeyスクリプトを書いてみた。
// ==UserScript==
// @name NIKKEI Web 0.0
// @namespace http://takagi-hiromitsu.jp/
// @description 日経新聞電子版閲覧時の訴訟リスクを回避する
// @include http://*.nikkei.com/*
// @include http://*.nikkei.co.jp/*
// @exclude http://it.nikkei.co.jp/*
// ==/UserScript==
if (location.search.indexOf("nikkei") >= 0) return;
if (location.pathname.indexOf("nikkei") >= 0) return;
if (parent.location.pathname != "/") {
location.href = location.protocol + "//" + location.host + "/";
} else {
if (parent == this) {
var fs = document.createElement("frameset");
fs.cols = "100%";
var f = document.createElement("frame");
f.src = "/?";
fs.appendChild(f);
document.body = fs;
} else {
var allLinks = document.evaluate('//a[@href]', document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (i = 0; i < allLinks.snapshotLength; i++) {
var link = allLinks.snapshotItem(i);
if (link.hostname != parent.location.hostname) {
link.target = "_top";
}
}
}
}
何者かが個別記事に言及したリンクを、万が一踏んでしまった場合でも、ちゃんとトップページへリダイレクトしてくれる。
加えて、日経新聞電子版の中でリンクを辿って個別の記事を閲覧しても、ブラウザのアドレスバーはトップページのままになる。下の図のように、社説を読んでいるときもアドレスは http://www.nikkei.com/ だ。
そのため、万が一誤って社説とかをブックマークしそうになっても、下の図のように、トップページのブックマークになる。
このスクリプトの完成度はいまひとつ不完全だが、コンセプトとしてはこんな感じ。個別ページへのリンクを禁止することがどのようなことなのかを体感できる。
サーバ側でならもっと完全に実現できるので、日経新聞電子版はこれを実装してはどうか。
*1 そもそも、言及される側が「ポリシー」とか言うこと自体からして意味不明。