Amazonのそれが再度熱を帯びているので、楽天市場の方も。
参考にしたサイト
http://blog.kantan-life.com/article/412662083.html
このサイトに記載しているコードでも充分に動くが、肝心の総額は計算されない。またChromeだと動作しない。
そこで、このサイトに掲載されているコードを改良し、ブックマークレット化した。
ブックマークレット化には「Closure Compiler」を用いている。
http://closure-compiler.appspot.com/home
---以下ブックマークレット
javascript:(function(){function c(a){a="number"!==typeof a?0:a;if(0===a&&($("
!1;var b=h(a+1);$("#overlay").text("\u96c6\u8a08\u4e2d\u2026 / "+(a+1)+"\u30da\u30fc\u30b8\u76ee");b.done(function(k){f+=k;c(a+1)}).fail(function(){for(var a=alert,b=(new String(f)).replace(/,/g,"");b!=(b=b.replace(/-?\+)(\d{3})/,"$1,$2")););a("\u3042\u306a\u305f\u306f\u5408\u8a08"+b+"\u5186\u5206\u306e\u8cb7\u3044\u7269\u3092\u697d\u5929\u5e02\u5834\u3067\u3057\u307e\u3057\u305f\uff01");$("#overlay").remove()})}function h(a){var b=$.Deferred();l(a).done(function(a){a=$.parseHTML(a);var c=
0;$(a).find(".price").each(function(){var a=$(this).text().match(/[0-9]/g),b=0;null!=a&&(b=Number(a.join("")));c+=b});0===c?b.reject():b.resolve(c)});return b.promise()}function l(a){var b=$.Deferred();$.ajax({url:"https://order.my.rakuten.co.jp/?page=myorder&fidomy=1&display_month=0&search_item=&page_num="+a+"&search_sender=&search_shop=",success:function(a){b.resolve(a)}});return b.promise()}var f=0,e="2012";if("function"!==typeof $){var g=document,d=g.createElement("script");d.src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js";
d.onload=c;g.body.appendChild(d)}else c()})();
---以上ブックマークレット
あとは楽天の購入履歴のサイトへ移動し、
https://order.my.rakuten.co.jp
上記ブックマークレットをURL欄にペースト、頭にjavascript:を追加して実行するだけで計算される。
ちなみに私は300万弱と計算された。怖い。
Amazonの方もそうだが、案外この手のものは既存のものを少し改良(クラス名を変更するだけなど)することにより、様々なものを計算することが出来る。
いろんなサイト向けのものを作ってみよう。
Top comments (1)
私はあなたが書いたことを理解していませんでしたが、ここにいることをうれしく思います。