Clip Images (DMM)

    @@ -14,8 +14,8 @@ filter = function(src) { if (!/^http:\/\/pics\.dmm\.(?:co\.jp|com)\//.test(src)) return false; - document.body.innerHTML.indexOf('【この作品のサンプル画像は拡大表示されません】') == -1 && (src = src.replace(/p[st](\.jpg)$/, 'pl$1')); - src = src.replace(/(\-\d+\.jpg)$/, 'jp$1'); + document.body.innerHTML.indexOf('【この作品のサンプル画像は拡大表示されません】') == -1 && (src = src.replace(/(\-\d+\.jpg)$/, 'jp$1')); + src = src.replace(/p[st](\.jpg)$/, 'pl$1'); return src; };
  • /*
     * @title Clip Images (DMM)
     * @include http://www.dmm.com/
     * @include http://www.dmm.co.jp/
     * @license MIT License
     * @private
     */
    
    var image_type = /.+\.(?:jpe?g|gif|png|svg|bmp)$/,
    	sources = {},
    	filter;
    
    new function() {
    	filter = function(src) {
    		if (!/^http:\/\/pics\.dmm\.(?:co\.jp|com)\//.test(src)) return false;
    
    		document.body.innerHTML.indexOf('【この作品のサンプル画像は拡大表示されません】') == -1 && (src = src.replace(/(\-\d+\.jpg)$/, 'jp$1'));
    		src = src.replace(/p[st](\.jpg)$/, 'pl$1');
    		return src;
    	};
    
    	clip_linked_image();
    	if (typeof sample_spread_success != 'undefined') {
    		var _sample_spread_success = sample_spread_success;
    		sample_spread_success = function(response) {
    			var ret = response && response.responseText ? _sample_spread_success(response) : false;
    			clip_image();
    			last();
    			return ret;
    		};
    
    		sample_spread();
    	}
    	else {
    		typeof sample_spread != 'undefined' && sample_spread();
    		clip_image();
    		last();
    	}
    };
    
    function last() {
    	var images = [];
    	for (var k in sources) {
    		images.push('<img src="' + k + '">');
    	}
    	images.length ?
    		(document.body.innerHTML = images.join('')) :
    		alert('Image Not Found');
    }
    
    function clip_linked_image() {
    	Array.prototype.slice.call(document.links).forEach(function(a) {
    		var src = (image_type.exec(a.href) || [])[0];
    		if (src) {
    			filter && (src = filter(src));
    			src && !sources[src] && (sources[src] = true);
    		}
    	});
    }
    
    function clip_image() {
    	Array.prototype.slice.call(document.images).forEach(function(img) {
    		var src = (image_type.exec(img.src) || [])[0];
    		if (src) {
    			filter && (src = filter(src));
    			src && !sources[src] && (sources[src] = true);
    		}
    	});
    }
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2012/02/04 16:23:19 - 2012-02-04
  2. 2011/11/18 19:48:01 - 2011-11-18
  3. 2011/11/18 04:23:06 - 2011-11-18
  4. 2011/11/18 04:19:41 - 2011-11-18
  5. 2011/11/15 03:29:51 - 2011-11-15
  6. 2011/11/15 03:27:39 - 2011-11-15
  7. 2011/11/14 04:15:00 - 2011-11-14
  8. 2011/11/14 03:08:10 - 2011-11-14
  9. 2011/11/13 17:47:40 - 2011-11-13
  10. 2011/11/13 17:47:21 - 2011-11-13