« 今週のお買い物 (2006.05.14~05.20) | トップページ | ココログのカテゴリアーカイブと月別アーカイブが正常に再構成できない »
2006.05.20
右クリックで Amazon (2006年5月版)
どうも、今日(2006年5月20日)の朝から、amazon.co.jp の個別商品詳細ページの URL のうち、本、洋書、CD、DVD、ビデオ、ソフトウェア、ゲームに関して、スポーツストアと同じものに変わったようです。キッチン、エレクトロニクス、おもちゃはまだ以前のままですが、これらもいずれ新しい URL 体系に移行するものと予想されます。
- 従来の URL
http://www.amazon.co.jp/exec/obidos/ASIN/ASIN番号/ - 新しいURL
http://www.amazon.co.jp/gp/product/ASIN番号/
この影響で、amazlet 用のブックマークレット等、Amazon 関連ツールがうまく動かなくなっているようです。拙作の「右クリックで Amazon」が今日の朝になって急にうまく動かなくなってしまったので、あれこれ調べてみたら、URL が変わっていることに気がつきました。
ということで、新しい URL に対応した「右クリックで Amazon」を用意しましたので、古いのを使っている人がいましたら、差し替えておいてください。
それでは、ソースです。
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<meta HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
<script language="JavaScript" type="text/javascript">
// 右クリックで Amazonアソシエイト (画像付き)
// -- 画像付きでAmazonアソシエイトリンクを生成する MenuExt
// Copyleft 2004, 2005 by H.Tsujimura (tsupo@na.rim.or.jp)
// Ver 1.0 30 May 2004 最初の公開バージョン
// Ver 1.1 22 Jun 2004 改訂版
// Ver 2.0 11 May 2005 新しい形式のリンクに対応
// Ver 2.1 16 Sep 2005 title要素の内容が変更されたのに伴う対応
// Ver 3.0 2 Nov 2005 「なか見! 検索」に対応
// Ver 3.1 4 Nov 2005 title要素の内容がまたまた変更されたのに伴う対応
// Ver 4.0 28 Nov 2005 スポーツストア対応
// Ver 4.1 20 May 2006 本、洋書、CD、DVD、ソフトウェア、ゲームの URL 体系がスポーツストアと同じものに
// なったのに伴う修正を実施
// なお、本スクリプトが生成するアマゾンアソシエイトの html ソースを利用するには、
// (a) あらかじめ、サーバ側に以下の内容の JavaSctipt ファイルが設置済みであり、
// (b) 本スクリプトの生成した html ソースの貼り付け先の Web ページ(ブログも含む)で、当該 JavaScript を
// インクルードする
// 必要があります。
/* 以下、サーバ側に設置する JavaScript のソース
↓↓ ここから ↓↓
function replaceImage(img,rep_img) {
if (img.width == '1' && img.src.match(/\.01\./)) {
img.src = rep_img; // 『「画像がありません」画像』を代替画像とする
}
else if (img.width == '1') {
img.src = img.src.replace('.09.','.01.');
// *.09.* 画像の代用として *.01.* を採用する
if (img.width == '1')
img.src = rep_img;
}
}
window.onload = function(){
oElements = document.getElementsByTagName("img");
for (i = 0; i < oElements.length; i++) { // >
if ( oElements[i].src.match("http://images-jp.amazon.com/images/") )
replaceImage(oElements[i],"http://images-jp.amazon.com/images/G/09/icons/no-img-sm.gif");
}
}
↑↑ ここまで ↑↑
*/
function translateString(str) {
var result = "";
var len = str.length;
var rep = 0;
var i;
for ( i = 0; i < len; i++ ) {
if ( str.charAt(i) == '\n' ) {
if ( rep == 0 )
result += '<br />';
rep++;
continue;
}
else if ( str.charAt(i) == '\r' )
continue;
rep = 0;
if ( str.charAt(i) == '>' )
result += ">";
else if ( str.charAt(i) == '<' )
result += "<";
else if ( str.charAt(i) == '&' )
result += "&";
// else if ( str.charAt(i) == ' ' )
// result += " ";
else if ( str.charAt(i) == '"' ) // "
result += """;
else
result += str.charAt(i);
}
return ( result );
}
obj = external.menuArguments; // 右クリック時の引数オブジェクト
page_url = obj.document.URL; // いま見ているサイト(ページ)のURL
title_txt = obj.document.title; // いま見ているサイト(ページ)のタイトル
str = obj.document.selection.createRange().text; // 選択されている文字列
// ↓↓ 自分のアソシエイトIDに書き換えてください
var assoc = "tsuporoswebpa-22";
// ↑↑ 自分のアソシエイトIDに書き換えてください
var ai = page_url.indexOf('ASIN');
var asin = page_url.substring(ai+5,ai+15);
if ( ai == -1 ) {
ai = page_url.indexOf('books');
if ( ai >= 0 )
asin = page_url.substring(ai+6,ai+16);
else {
ai = page_url.indexOf('gp/product/');
if ( ai >= 0 )
asin = page_url.substring(ai+11,ai+21);
else {
ai = page_url.indexOf('/tg/detail/-/');
if ( ai >= 0 )
asin = page_url.substring(ai+13,ai+23);
}
}
}
nodeS = title_txt.indexOf(': ');
nodeE = title_txt.lastIndexOf(': ');
linkS = title_txt.indexOf('Amazon.co.jp');
if ( nodeS > 0 ) {
if ( (nodeE == -1) || (nodeE <= nodeS) ) // >
nodeStr = title_txt.substring(nodeS+2,title_txt.length);
else
nodeStr = title_txt.substring(nodeS+2,nodeE);
}
// 従来 <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4091370799/tsuporoswebpa-22">ないしょのつぼみ 1 (1)</a>
// 2005年4月以降 <a href="http://www.amazon.co.jp/exec/obidos/redirect?path=ASIN/4091370799&link_code=as2&camp=247&tag=tsuporoswebpa-22&creative=1211">ないしょのつぼみ 1 (1)</a><img src="http://www.assoc-amazon.jp/e/ir?t=tsuporoswebpa-22&l=as2&o=9&a=4091370799" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
// amazonUrl = 'http://www.amazon.co.jp/exec/obidos/ASIN/'+asin+'/'+assoc;
amazonUrl = 'http://www.amazon.co.jp/exec/obidos/redirect?path=ASIN/'+asin+'&link_code=as2&camp=247&tag='+assoc+'&creative=1211';
if ( linkS < 0 ) {
if ( nodeS > 0 )
linkString = title_txt.substring(0,nodeS);
else
linkString = title_txt;
}
else {
linkS += 13;
while ( title_txt.charAt(linkS) == ' ' )
linkS++;
if ( nodeS < 0 )
linkString = title_txt.substring(linkS,title_txt.length); /* スポーツストア */
else
linkString = title_txt.substring(linkS,nodeS);
}
nodeE = linkString.indexOf(": ");
if ( nodeE > 0 )
linkString = linkString.substring(0,nodeE);
linkString = translateString(linkString);
// aff_url = amazonUrl + "/ref=nosim/"; // 商品ページへのリンク
aff_url = amazonUrl; // 商品ページへのリンク
aff_string = '<a href="' + aff_url + '" target="_blank">' + linkString + '</a>';
img_url = 'http://images-jp.amazon.com/images/P/' + asin + '.09.MZZZZZZZ.jpg';
link = '<a href="'+amazonUrl+'"><img src="' + img_url + '" border="0" alt="' + linkString + '" /></a>';
track_url = 'http://www.assoc-amazon.jp/e/ir?t='+assoc+'&l=as2&o=9&a='+asin;
track_string = '<img src="' + track_url + '" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />';
if ( (nodeStr == "本") || (nodeStr == "洋書") ) {
// 「なか見! 検索」は本(和書[雑誌を含む])と洋書のみ
searchLink = 'http://www.amazon.co.jp/gp/reader/' + asin + '/ref=' + assoc;
if ( str == "" )
prompt('', aff_string + track_string + "<br />" + link + '<br />(<a href="'+ searchLink + '" title="注意: 当該書籍・商品が「なか見! 検索」に対応しているとは限りません">なか見! 検索</a>)');
else {
qTag = '<blockquote cite="' + page_url + '" style="width: 88%; padding: 3px;"><div style="float: left; width: 65%;"><p>' + translateString(str) + '</p></div><div style="float: right; width: 34%;"><p style="background-color: #FFF;">' + link + '</p></div><p style="clear: both; background-color: #FFF;"><cite>' + aff_string + track_string + '</cite> (<a href="'+ searchLink + '" title="注意: 当該書籍・商品が「なか見! 検索」に対応しているとは限りません">なか見! 検索</a>)</p></blockquote>';
prompt('', qTag);
}
}
else {
if ( str == "" )
prompt('', aff_string + track_string + "<br />" + link);
else {
qTag = '<blockquote cite="' + page_url + '" style="width: 88%; padding: 3px;"><div style="float: left; width: 65%;"><p>' + translateString(str) + '</p></div><div style="float: right; width: 34%;"><p style="background-color: #FFF;">' + link + '</p></div><p style="clear: both; background-color: #FFF;"><cite>' + aff_string + track_string + '</cite></p></blockquote>';
prompt('', qTag);
}
}
</script>
追記
ここ数日、なのかな。この変更。
point of view point: Amazon個別商品ページのURLが変更に
すでに、5月10日時点で URL が変わりかけてたんですね。私のところでは19日深夜(というか20日未明)までは今までの「右クリックで Amazon」が問題なく動いていたのは何でだろう?
もう何が何やらだ。「Amazon個別商品ページのURLが変更に」で触れていたURLの変更。これが今日くらいからまた元に戻っている。
point of view point: Amazonの個別商品ページのURL、再び変更。と、ISBNの桁拡張
とりあえず、新旧両方の URL に対応しておくのが吉。私の「右クリックで Amazon」は両方に対応しています。
あと、2007年に ISBN が13桁になる件、ASIN の方は必ずしも連動して 13桁になるという保証はなく、依然として10桁のままでいくのかもしれません。これは実際に、そのときが来るまで、わかんないんですけどね。
追記 その2
Amazon.co.jp の商品のURLが変更になったのに対応するよう amazlet のブックマークレットを更新しました。amazlet をお使いの方は、お手数ですが再度ブマークレットのセットアップを行ってください。
naoyaのはてなダイアリー - amazlet のブックマークレット
amazlet のブックマークレットも新しいのが出ました。amazlet では今まで対応していなかった、スポーツストア も、この版で対応したのかな?
投稿者: tsupo 2006.05.20 午後 03:52
| 固定リンク
|
|
| ![]()
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: 右クリックで Amazon (2006年5月版):
» 【Web】蔵書リンクMAKER:AmazonのURL体系変更に伴うブックマークレットと右クリックメニュー拡張更新 from 風柳亭 - 別館:書庫のある庵 -
AmazonのURL体系が変わったのに伴って、『蔵書リンクMAKER』のブックマークレットとWinXP+IE6の右クリック拡張メニューの一部(Amazon個別商... 続きを読む
» amazon商品ページのurlが変わってた件 from MSM-03C
前のエントリーで書いたようにamazonの商品ページのurlが変わってしまい今ま... 続きを読む
» ここ最近、amazon.co.jp の検索結果の URL がコロコロ変わってます from 観測気球
ここ3週間くらい、アマゾンの検索結果(からたどりつく商品紹介ページ)の URL の形式が頻繁に変わっています。とりあえず、今まで登場した全パターンに対応できるコードを書いてみました。... 続きを読む



