DQX 思い出アルバム保存補助ブックマークレットex Firefox+dTa専用 by fashi2
by
fashi
2018-05-30 [2018/05/30 23:24:44]
DQ10 冒険者の広場 思い出アルバム(画像が9個並んでるとこ)でブックマークレットを実行してファイル名付きリンク生成 →DownThemAll!でフィルターを /smpic.*xl/ に、命名規則を *text*.jpg に変えてから保存。 / 説明とか http://vp.star-wind.info/dqx/
//
// @title DQX 思い出アルバム保存補助ブックマークレットex Firefox+dTa専用 by fashi2
// @description DQ10 冒険者の広場 思い出アルバム(画像が9個並んでるとこ)でブックマークレットを実行してファイル名付きリンク生成 →DownThemAll!でフィルターを original に、命名規則を *text*.jpg に変えてから保存。 / 説明とか http://vp.star-wind.info/dqx/
// @include http://hiroba.dqx.jp/sc/character/*/picture/
// @license MIT License
// @require
//
(function(){
var callbacks=[],i=0;
var charaName = $('#myCharacterName').text();
$('td.contentsTable1TD1').each(function(){
var $this = $(this);
callbacks.push((function(){
return function() {
var d = $.Deferred();
setTimeout(function() {
var showLargePict = $this.find('a.showLargePict');
var rel = showLargePict.attr('rel');
var p = rel.match(/(\d+)\/picture\/(\d+)/);
var url = (p && p.length == 3) ? 'http://img.dqx.jp/smpicture/download/webpicture/' + p[1] + '/original/' + p[2] + '/?dl' : '';
var comment = showLargePict.attr('title') ? '『' + showLargePict.attr('title') + '』' : '';
var lockicons = $this.find('div.lockIcon');
var lockicon = lockicons[0] ? '(lock)' : '';
var thumbLocationAndDate = $this.find('p.thumbLocationAndDate');
var dateAndLocation = thumbLocationAndDate.html().split('<br>');
var date = dateAndLocation && dateAndLocation[0] || '';
var location = dateAndLocation && dateAndLocation[1] || '';
$.get(rel,function(data){
var dateAndLocationDetail = $(data).find('#pictureDetailLocationAndDate').html().split('<br>');
location = dateAndLocationDetail && dateAndLocationDetail[1] || location;
date = date.replace(/(\/|:)/g, '').replace(' ', '_');
location = location.replace(/[a-zA-Z0-9()]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 65248);}).replace(/ /g,' ').replace(/<.+/g, "").replace(/[\x0D\x0A\x09]+/g,'');
//var fileName = charaName + ' ' + p[2] + lockicon + comment + ' at ' + location + ' ' + date;
//var fileName = charaName + ' ' + date + ' 「' + location + '」(' + p[2] + ')' + comment + lockicon;
var fileName = 'DQX ' + date + ' ' + charaName + '「' + location + '」(' + p[2] + ')' + comment + lockicon;
thumbLocationAndDate.append($('<br>'));
var link = $('<a>');
link.attr({
download: fileName + '.jpg',
href: url,
}).text(fileName).appendTo(thumbLocationAndDate);
}).done(function() {
d.resolve();
}).fail(function() {
d.reject();
});
},1000);
return d.promise();
};
})(i));
i++;
});
var dfd = $.Deferred();
dfd.resolve();
for (var i = 0; i < callbacks.length; i++) {
dfd = dfd.pipe(callbacks[i]);
}
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。