->*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 です。