以前晒した “Asamasi ID Filter” について、amazon の商品ページの URL がなんか変更されてるなーというのは知ってたけど、このスクリプトを自分で使ってる分には困る場面があんまりなかったので放置してたのですが、どうにかしろよ!といわれたので、激しくいまさらですが対応しました。
// ==UserScript== // @name Asamasi ID Filter // @namespace http://antipop.gs/ns/greasemonkey/asamasiidfilter // @description convert malicious things to something good // @include * // @exclude http://www.amazon.co.jp/exec/obidos/tg/browse/-/896244/* // @exclude http://www.amazon.co.jp/exec/obidos/tg/browse/-/10667101/* // @exclude http://www.amazon.co.jp/exec/obidos/tg/browse/-/927712/* // ==/UserScript== (function() { var ids = new Array( 'foo-22', 'bar-22', 'baz-22', // 'antipop-22', ); var links = document.links; var pattern = '^http://(?:www.amazon.co.jp/(?:exec/obidos/ASIN/|o/ASIN/|gp/product/)|d.hatena.ne.jp/asin/)([^/]+)/?.*'; var regexp = new RegExp(pattern, 'i'); for (var i = 0, length = links.length; i < length; i++) { if (links[i].href.match(regexp)) { links[i].href = new Array( 'http://www.amazon.co.jp/exec/obidos/ASIN/', RegExp.$1, '/ref=nosim/', ids[Math.floor(Math.random() * ids.length)]).join(''); } } })();
JavaScriptビジュアル・リファレンス
posted with amazlet on 06.07.04