Hamazou shim
-
/*
* @title Hamazou shim
* @description prompt Diary Keyword link with img, like Hamazou; LGTM for Hatena Space
* @include http://www.amazon.co.jp/*
* @include http://d.hatena.ne.jp/asin/*
* @contributor noromanba http://let.hatelabo.jp/noromanba/let/gYC-y8CR-5yPEw (Fork of)
* @license MIT License http://nrm.mit-license.org/2013
* @require
*/
// pair-script
// http://let.hatelabo.jp/noromanba/let/gYC-y8CR-5yPEw
// c.f. http://space.hatena.ne.jp/~/14217943783080751724/14290001378108728700
// Amazon Android App Store has not '#ASIN', e.g. http://www.amazon.co.jp/dp/B004SOR4H6/
// alternate methods;
// ((document.querySelector('[data-asin]') || {}).dataset || {})).asin
// or parse URL like this code
// c.f. http://space.hatena.ne.jp/~/14217943783080751724/14217943783080751726/93
(function () {
var asin, img;
if (/^www\.amazon\.co\.jp/.test(location.hostname)) {
asin = (location.pathname.match(/dp\/(\w+)/) || [])[1];
var query = {
'normal': '#prodImageContainer img',
'other' : '#main-image',
'kindle': '#kib-ma-container-0 img'
};
query = Object.keys(query).map(function (k) { return query[k]; });
img = (document.querySelector(query) || {}).src;
} else if ((asin = (location.href.match(/^http:\/\/d\.hatena\.ne\.jp\/asin\/(\w+)/) || [])[1])) {
img = (document.querySelector('img.hatena-asin-detail-image') || {}).src;
img = img.replace(/(_SL)\d+(_\.\w+)$/, '$1' + 300 + '$2');
}
if (!asin) return;
// TODO display to textarea
// Firefox can't use linebreak within a prompt, so redandunt space ' \n' for avoid no-sep
prompt('copy me', (img + ' \n' || '') + 'http://d.hatena.ne.jp/asin/' + asin);
})();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。