/*
* @title 俺仕様画像抽出ブックマークレット(a,img) by fashi2 2016.01.26-
* @description 動作選択式(XPath抽出、正規表現フィルタ、新窓)
* @include http://*
* @license MIT License
* @require
* @javascript_url
*/
(function(){
var a,i=0,j=0,k=0,l,m,e,t,tp,s="",u="",w,d=document,e,v="",sp,xp,pf="",n=null,et="",br="
",cr="\n",ln;
var dp = new Object();
var tag = prompt("mode [a|img|external|mix|xpath]","mix");
switch(tag){
case 'a': /* aタグ */
xp='//a/@href';
break;
case 'external': /* imgを囲むリンク */
case 'mix': /* imgを囲むリンクとリンクに囲まれてないimg */
pf=prompt("xpath prefix\nex.\n//div[contains(@class,'entry-content')]\n//div[contains(@class,'permalink-tweet')]","//body");
xp=pf+'//a[(child::img)]/@href';
if (tag=='mix') xp+='|'+pf+'//img[not(ancestor::a)]/@src';
break;
case 'xpath': /* XPath */
xp=prompt("xpath (nodeValue)","//body//img/@src");
break;
default:
xp='//'+tag+'/@src'; /* 任意タグのsrc */
/* TODO: css/background-image, text-link, both href & img */
}
sp=document.evaluate(xp,d,n,7,n);
for(k=0;k';
s += ln+RegExp.$2+'
'+cr;
v += ln+''+cr;
u += t+cr;
}
else {
ln = '';
s += ln+t+"
"+cr;
v += ln+''+cr;
u += t+cr;
}
}
if (u) {
if (confirm("thumbnail?")) et+=""+v+"
";
et+=""+br+s+"
";
if(confirm("new window ?")){
window.open("data:text/html,"+encodeURIComponent("Images"+br+et+br+""),"_blank");
} else {
d.body.innerHTML += br+"
"+br+et+br;
}
if(_jsaCScript){ if(confirm("copy?")) _jsaCScript.setClipBoardString(u); }
}
else {
alert('none');
}
})();