Amazon URL短縮ブックマークレット

Amazonで商品を共有するとき、URLを相手に送ることがある。ただ、普通にページを見たときに表示されるURLがとても長い。URLの中に商品名が含まれ、さらには飛び元のページによってパラメーターが付与され、無駄が多い。

このAmazonの長ったらしいURLを短くするためのブックマークレットを作ってみた。まずはソースコード。

function() {
    var s = location.href.split(/[?#/=&]/);
    var t = s[0] + '//' + s[2] + '/d/';
    for (var i = 3; i < s.length; i++ ) {
        if (s[i].length = 10 && s[i].match(/^[A-Z0-9]*$/)) {
            t += s[i];
            break;
        }
    }
    location.href = t;
}

Amazonのページを見ている前提で作っている。いま見ているページで「?」以降のパラメーター部分を除外し、「/」で文字列を区切って「?」「/」「&」「=」で文字列を区切って配列としている。

URLの先頭部分である「https:」と「amazon.co.jp」などのドメイン部分を配列から取得。

その後ろに「/d/」を追加してからAmazonの商品のコードである「ASIN」をURLから探す。探すときは、ASINが10桁であること、半角英数字で英語は大文字であることを条件としている。紙の本の場合、URLに含まれるISBNが10桁であればうまく動作すると思うが、13桁の場合は動作しない。

また、日本のamazon.co.jpだけでなくamazon.comなどの海外のAmazonでも使える。

ブックマークレットとして登録するのは以下の文字列。

javascript:(function(){var%20s=location.href.split(/[?#/=&]/);var%20t=s[0]+'//'+s[2]+'/d/';for(var%20i=3;i<s.length;i++){if(s[i].length==10&&s[i].match(/^[A-Z0-9]*$/)){t+=s[i];break;}}location.href=t;})();

このコードをブックマーク(お気に入り)に登録する。ブックマークにブックマークレットを登録する場合は以下の手順で行う。

  1. どこのページでもいいので、とりあえずブックマークを作成。
  2. ブックマークを編集で、ブックマークのURLをブックマークレットに書き換える。
  3. タイトルをわかりやすく変えてブックマークの編集を終了。

あとはAmazonの任意のページでブックマークレットをクリックするだけ。ブラウザーのブックマークバーなどに登録しておくと便利だ。


パラメーター部分にASINがある場合でも短縮できるように変更。
カテゴリー: Tips