->*img

    @@ -1,10 +1,10 @@ /* - * @title ->*img-link - * @description simple image viewer; open all image-link in new tab/window + * @title ->*img + * @description simple image viewer; open all images in new tab/window * @include http://* * @include https://* - * @contributor os0x http://let.hatelabo.jp/os0x/let/gYC-xpO93uu1BA (Fork of) - * @author noromanba http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh + * @contributor os0x http://let.hatelabo.jp/os0x/let/gYC-xpO93uu1BA + * @contributor noromanba http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh (Fork of) * @license MIT License http://opensource.org/licenses/MIT * @javascript_url */ @@ -12,6 +12,8 @@ // for twitter.com // http://let.hatelabo.jp/noromanba/let/hLHUyPL1pLND +// TODO merge large dig; c.f. +// http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh (function () { var container = document.createDocumentFragment().appendChild(document.createElement('div')); @@ -22,12 +24,12 @@ // TBD immediately append w/ interval, omit fragment var index = 0; - Array.from(document.links).forEach(function (link) { - if (!/\.(jpe?g|png|gif)(\?|$)/i.test(link)) return; + Array.from(document.images).forEach(function (image) { + if (!image.src) return; var img = document.createElement('img'); - img.src = link; - img.alt = link; // TODO handle broken img e.g. HTTP 404 + img.src = image.src; + img.alt = image.src; // TODO handle broken img e.g. HTTP 404 img.title = (index += 1); img.tabIndex = 0; img.style.maxWidth = '100%';
  • /*
     * @title ->*img
     * @description simple image viewer; open all images in new tab/window
     * @include http://*
     * @include https://*
     * @contributor os0x        http://let.hatelabo.jp/os0x/let/gYC-xpO93uu1BA
     * @contributor noromanba   http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh (Fork of)
     * @license     MIT License http://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // for twitter.com
    // http://let.hatelabo.jp/noromanba/let/hLHUyPL1pLND
    
    // TODO merge large dig; c.f.
    // http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh
    (function () {
        var container = document.createDocumentFragment().appendChild(document.createElement('div'));
    
        var style = container.style;
        style.marginLeft = 'auto';
        style.marginRight = 'auto';
        style.textAlign = 'center';
    
        // TBD immediately append w/ interval, omit fragment
        var index = 0;
        Array.from(document.images).forEach(function (image) {
            if (!image.src) return;
    
            var img = document.createElement('img');
            img.src = image.src;
            img.alt = image.src; // TODO handle broken img e.g. HTTP 404
            img.title = (index += 1);
            img.tabIndex = 0;
            img.style.maxWidth = '100%';
    
            container.appendChild(img);
            container.appendChild(document.createElement('br'));
        });
        if (container.children.length < 1) return;
    
        // TBD 'total' merge into 'img.title'
        var total = document.createElement('div');
        total.style.color = '#EEE';
        total.textContent = container.querySelectorAll('img').length + ' | ';
        var src = total.appendChild(document.createElement('a'));
        src.href = location.href;
        src.textContent = location.href;
        src.style.color = '#EEE';
    
        container.insertBefore(total, container.firstChild);
    
        var page = window.open('about:blank', '_blank');
        page.document.title = document.title;
        page.document.body.style.backgroundColor = 'black';
    
        page.document.body.appendChild(container);
    })();
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2016/01/22 04:56:28 - 2016-01-22
  2. 2016/01/16 07:16:05 - 2016-01-16
  3. 2016/01/16 07:08:42 - 2016-01-16