Hamazou shim
@@ -1,39 +1,41 @@
/*
- * @title Amazon img + asin
- * @description prompt minified Amazon link with img; LGTM for Hatena Space
- * @include http://www.amazon.tld/*
+ * @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-y8DN9c28Rw
+// c.f. http://space.hatena.ne.jp/~/14217943783080751724#14290001378108728700
-// c.f. http://space.hatena.ne.jp/~/14217943783080751724#14217943783080751726+45
-// http://space.hatena.ne.jp/~/14217943783080751724/14290001378108728700/3
-(function () {
- var tld, asin;
- //*
- if (!(tld = (location.hostname.match(/^www\.amazon\.([a-z\.]+)/) || [])[1]) ||
- !(asin = (location.pathname.match(/dp\/(\w+)/) || [])[1])) {
- return;
- }
- /*/
- var meta = (location.href.match(/^https?:\/\/www\.amazon\.([a-z\.]+).*\/dp\/(\w+)/) || []).slice(1);
- if (meta.length < 2) return;
+// Amazon Android Apply Store has not '#ASIN', i.e. http://www.amazon.co.jp/dp/B00D80V2TM
+// alternate methods;
+// ((document.querySelector('[data-asin]') || {}).dataset || {})).asin
+// or parse URL like this code
+// c.f. http://space.hatena.ne.jp/~/14217943783080751724/14217943783080751726/93
- tld = meta[0], asin = meta[1];
- //*/
+(function () {
+ var asin, img;
+ if (/^www\.amazon\.co\.jp/.test(location.hostname)) {
+ asin = (location.pathname.match(/dp\/(\w+)/) || [])[1];
- var query = {
+ var query = {
'normal': '#prodImageContainer img',
'other' : '#main-image',
'kindle': '#kib-ma-container-0 img'
- };
- query = Object.keys(query).map(function (k) { return query[k]; });
- var img = (document.querySelector(query) || {}).src;
+ };
+ 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://www.amazon.' + tld + '/dp/' + asin);
-})();
+ prompt('copy me', (img + ' \n' || '') + 'http://d.hatena.ne.jp/asin/' + asin);
+})();
/*
* @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
*/
// c.f. http://space.hatena.ne.jp/~/14217943783080751724#14290001378108728700
// Amazon Android Apply Store has not '#ASIN', i.e. http://www.amazon.co.jp/dp/B00D80V2TM
// 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 です。