->*img-link
@@ -1,5 +1,5 @@
/*
- * @title *img
+ * @title ->*img
* @description simple image viewer; open all image-link in new tab/window
* @include http://*
* @contributor os0x http://let.hatelabo.jp/os0x/let/gYC-xpO93uu1BA (Fork of)
@@ -7,40 +7,56 @@
* @license MIT License http://opensource.org/licenses/MIT
*/
+// if you want to avoid popup-blocker(and use in https)
+// 0. bookmark this (or somewhere)
+// 1. open *.packed.js from 'Packed' and copy code
+// 2. edit bookmark
+// 3. paste packed code to bookmark url
+// 4. add 'javascript:' to bookmark url beginning
+// i.e. http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh.packed.js
+// javascript: (function(){var container=document ...
+// so script execute in javascript: context, bypass security checks
+
(function () {
var container = document.createDocumentFragment().appendChild(document.createElement('div'));
var style = container.style;
style.marginLeft = 'auto';
style.marginRight = 'auto';
- style.maxWidth = '100%';
style.textAlign = 'center';
+ // TBD immediately append w/ interval, omit fragment
var index = 0;
- // TBD immidiately append w/ interval, omit fragment
Array.prototype.slice.call(document.links).forEach(function (link) {
- if(!/\.(jpe?g|png|gif)(\?|$)/i.test(link)) {
- return;
- }
+ if(!/\.(jpe?g|png|gif)(\?|$)/i.test(link)) return;
var img = document.createElement('img');
img.src = link;
+ img.alt = link; // TODO handle broken img e.g. HTTP 404
img.title = (index += 1);
+ img.style.maxWidth = '100%';
container.appendChild(img);
container.appendChild(document.createElement('br'));
});
if (container.children.length < 1) return;
- // TODO 'total' merge into 'img.title'
+ // TBD 'total' merge into 'img.title'
var total = document.createElement('div');
total.style.color = '#EEE';
- total.appendChild(document.createTextNode(container.querySelectorAll('img').length));
+ 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);
+ // TODO avoid popup-blocker; e.g. addEventListener + dispatchEvent
var page = window.open('about:blank', '_blank');
page.document.title = document.title;
- page.document.body.style.backgroundColor = '#000';
+ page.document.body.style.backgroundColor = 'black';
page.document.body.appendChild(container);
})();
+
/*
* @title ->*img
* @description simple image viewer; open all image-link in new tab/window
* @include http://*
* @contributor os0x http://let.hatelabo.jp/os0x/let/gYC-xpO93uu1BA (Fork of)
* @author noromanba http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh
* @license MIT License http://opensource.org/licenses/MIT
*/
// if you want to avoid popup-blocker(and use in https)
// 0. bookmark this (or somewhere)
// 1. open *.packed.js from 'Packed' and copy code
// 2. edit bookmark
// 3. paste packed code to bookmark url
// 4. add 'javascript:' to bookmark url beginning
// i.e. http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh.packed.js
// javascript: (function(){var container=document ...
// so script execute in javascript: context, bypass security checks
(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.prototype.slice.call(document.links).forEach(function (link) {
if(!/\.(jpe?g|png|gif)(\?|$)/i.test(link)) return;
var img = document.createElement('img');
img.src = link;
img.alt = link; // TODO handle broken img e.g. HTTP 404
img.title = (index += 1);
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);
// TODO avoid popup-blocker; e.g. addEventListener + dispatchEvent
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 です。