Amazon hi-res
by
noromanba
2014-12-03 [2014/12/03 06:34:46]
open largest image in new tab/window on Amazon
-
/*
* @title Amazon hi-res
* @description open largest image in new tab/window on Amazon
* @include http://www.amazon.tld/*
* @license MIT http://opensource.org/licenses/MIT
* @javascript_url
*/
// OBSOLETE
// http://let.hatelabo.jp/noromanba/let/hJmc1aHrisB0
// http://z2-ec2.images-amazon.com/images/P/<ASIN>.09.MAIN._SCRMZZZZZZ_.jpg
// c.f. how to get large image
// http://anond.hatelabo.jp/20100625062056
// http://anond.hatelabo.jp/20140101104854
// c.f. works well, but depends outer webservice
// http://parasiteeve2.blog65.fc2.com/blog-entry-392.html
// - ASIN: B00OK93Z0E e.g.
// http://z-ecx.images-amazon.com/images/P/B00OK93Z0E.09-A2KAVP39WOVYMY.MAIN._V20141203013700-PE2HO-goo-gl-R8MyJ_SY6000_SCRMZZZZZZ_.jpg
//
// shrink by hand
// http://z-ecx.images-amazon.com/images/P/B00OK93Z0E.09-A2KAVP39WOVYMY.MAIN._SY6000_SCRMZZZZZZ_.jpg
// http://z-ecx.images-amazon.com/images/P/B00OK93Z0E.09-A2KAVP39WOVYMY.MAIN._SCRMZZZZZZ_.jpg
// TODO - [ ] Kindle Store
// - [ ] non expandable image
// - http://www.amazon.co.jp/dp/B00MBH33LI
// - http://www.amazon.co.jp/dp/B000TKDFN0
// - http://ecx.images-amazon.com/images/I/51Pil0Wa-mL.jpg
// - [ ] MERCHANT_ID
// - http://www.amazon.co.jp/dp/B00OVDZZEI
// - A8UGI2UDC0XXN
// - http://z-ecx.images-amazon.com/images/P/B00OVDZZEI.09-A2KAVP39WOVYMY.MAIN._SCRMZZZZZZ_.jpg
(function () {
if (!/^www\.amazon\.([a-z\.]+)/.test(location.hostname)) return;
var q = function (sel) {
return document.querySelector(sel);
};
// #ASIN is nullable e.g. Android App Store
// http://let.hatelabo.jp/noromanba/let/gYC-y8DN9c28Rw
// http://let.hatelabo.jp/noromanba/let/gYC-y8CR-5yPEw
var asin = (function () {
var canon = q('head link[rel="canonical"][href^="http:"]').href;
if (!canon) return;
return canon.split('/').pop();
})();
if (!asin) return;
// e.g. http://www.amazon.co.jp/dp/B00ITLX5JU/
// http://www.amazon.co.jp/dp/4861523516
var src = (q([
'img#main-image[src]',
'#imageBlockThumbs img[src]'
]) || {}).src;
var artwork;
if (src) {
// http://ecx.images-amazon.com/images/I/<IMG_ID>.png
artwork = src.replace(/\._\w{2}\d+_.*(\.\w+)$/, '$1');
} else {
var merchantID = (q('input#merchantID[value]') || {}).value;
if (!merchantID) return;
// http://z2-ec2.images-amazon.com/images/P/<ASIN>.09-<MERCHANT_ID>.MAIN_SCRMZZZZZZ_.jpg
artwork = [
'http://z-ecx.images-amazon.com/images/P/',
asin,
'.09-',
merchantID,
'.MAIN_SCRMZZZZZZ_.jpg'
].join('');
}
window.open(artwork);
})();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。