short url for amazon
by
rikuo
2016-03-15 [2016/03/15 20:38:06]
AmazonのURLを短くします
-
/*
* @title short url for amazon
* @description AmazonのURLを短くします
* @license MIT License
*/
(function(_d,_a,_b,_c,df,box){
function c(t){return _d.createElement(t)}
function e(id){return _d.getElementById(id)}
function addCSS(cssText,r,s){
s=_d.createElement('style');
s.type='text/css';
r=_d.getElementsByTagName('head')[0]||_d.documentElement;
s.textContent=cssText;
return r.appendChild(s).s
}
function closeBtn(p){
p=this.parentNode;
p.parentNode.removeChild(p);
}
function makeBtn(elm,formText,f,g,h){
f=c('form');
f.id=_c;
elm.appendChild(f);
g=c('textarea');
g.value=formText;
g.id=_a;
f.appendChild(g);
h=c('button');
f.appendChild(h);
h.appendChild(_d.createTextNode('\u00D7'));
h.setAttribute('type','button');
h.addEventListener('click',closeBtn,false);
h.title='close';
}
function getText(obj){
var childElm = obj.childNodes;
for(var i=0;i<childElm.length;++i){
if(childElm[i].nodeType == Node.TEXT_NODE){
return childElm[i].textContent.replace(/^[\s]+/,'').replace(/[\s]+$/,'');
}
}
}
var inputElm = e('ASIN') || _d.getElementsByName('ASIN.0')[0];
var isbnID = (inputElm)?inputElm.value : window.sitbAsin || window.Associates.SocialShareAttributes.asin ;
if(!isbnID)return;
var titleElm = e('ebooksProductTitle')||e('productTitle')||e('btAsinTitle')||e('aiv-content-title')||_d.querySelector('.series-detail-title')||_d.querySelector('#title_feature_div h1');
var pdTitle = getText(titleElm);
var textElm = pdTitle + ' ' + 'http://amazon.jp/dp/' + isbnID;
df=_d.createDocumentFragment();
if(e(_b)){
if(e(_c))e(_c).parentNode.removeChild(e(_c));
makeBtn(df,textElm);
e(_b).appendChild(df);
}else{
addCSS('#'+_a+'{top:30px;right:25px;width:400px;height:60px;z-index:9998;position:fixed;padding:8px;border:5px solid #888;padding:5px;opacity:0.7;}#'+_c+' button{top:20px;right:16px;z-index:9999;position:fixed;background-color:#FF514C;border:3px solid #fff;color:#fff;font-size:15px;height:23px;width:23px;padding:0;opacity:1;cursor:pointer;border-radius:15px;box-shadow:-1px 2px 6px #777;}');
box=c('div');
box.id=_b;
df.appendChild(box);
makeBtn(box,textElm);
_d.body.appendChild(df);
}
e(_a).focus();
})(document,'rko_amzn_textarea','rko_amzn','rko_amzn_form');
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。