DQX 思い出アルバム保存補助ブックマークレットex Firefox+dTa専用 by fashi2 Fork

    @@ -22,7 +22,7 @@ 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 lockicon = lockicons[0] ? '!LOCKED!' : ''; var thumbLocationAndDate = $this.find('p.thumbLocationAndDate'); var dateAndLocation = thumbLocationAndDate.html().split('<br>'); var date = dateAndLocation && dateAndLocation[0] || '';
  • //
    // @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 datetype = 1;
    	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] ? '!LOCKED!' : '';
    					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;
    						if (datetype) {
    							dateobj = new Date(date);
    							date = localdate8(dateobj);
    						} else {
    							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]);
    	}
    	function localdate8(dateobj){
    		dateobj.setHours(dateobj.getHours()-8);
    		return [
    			dateobj.getFullYear(),
    			('0' + (dateobj.getMonth() + 1)).slice(-2),
    			('0' + dateobj.getDate()).slice(-2)
    		].join('') + '_' + [
    			('0'+ (dateobj.getHours()+8)).slice(-2),
    			('0'+ dateobj.getMinutes()).slice(-2)
    		].join('');
    	}
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/07/08 12:37:21 - 07/08
  2. 2017/07/08 06:17:19 - 07/08
  3. 2015/12/24 16:12:29 - 2015-12-24
  4. 2014/03/18 20:43:05 - 2014-03-18
  5. 2014/03/18 19:39:59 - 2014-03-18
  6. 2014/03/14 10:25:00 - 2014-03-14
  7. 2014/03/14 10:23:58 - 2014-03-14
  8. 2014/03/13 10:11:30 - 2014-03-13