->*img-link
@@ -1,24 +1,18 @@
/*
- * @title ->*img
+ * @title ->*img-link
* @description simple image viewer; open all image-link 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
* @license MIT License http://opensource.org/licenses/MIT
+ * @javascript_url
*/
-// 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 beginning of bookmark url
-// i.e. http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh.packed.js
-// javascript:(function(){var container=document ...
-// so script execute in javascript:-context, ignore site-context security checks
+// for twitter.com
+// http://let.hatelabo.jp/noromanba/let/hLHUyPL1pLND
(function () {
- 'http://let.hatelabo.jp/noromanba/let/hLHX5oTN2bUh';
var container = document.createDocumentFragment().appendChild(document.createElement('div'));
var style = container.style;
@@ -28,8 +22,8 @@
// 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;
+ Array.from(document.links).forEach(function (link) {
+ if (!/\.(jpe?g|png|gif)(\?|$)/i.test(link)) return;
var img = document.createElement('img');
img.src = link;
@@ -46,7 +40,7 @@
// TBD 'total' merge into 'img.title'
var total = document.createElement('div');
total.style.color = '#EEE';
- total.textContent = 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;
@@ -54,10 +48,10 @@
container.insertBefore(total, container.firstChild);
- // TODO avoid popup-blocker; e.g. addEventListener + self-dispatchEvent or minify for avoid loader
var page = window.open('about:blank', '_blank');
page.document.title = document.title;
page.document.body.style.backgroundColor = 'black';
page.document.body.appendChild(container);
})();
+
/*
* @title ->*img-link
* @description simple image viewer; open all image-link 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
* @license MIT License http://opensource.org/licenses/MIT
* @javascript_url
*/
// for twitter.com
// http://let.hatelabo.jp/noromanba/let/hLHUyPL1pLND
(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.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.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 です。