->*img
-
/*
* @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/hJmcyb717pBx
// TODO merge large img 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 です。