TAB imgs
@@ -1,7 +1,7 @@
/*
* @title TAB imgs
* @description append tab navigation to image
- * @include http://example.com/user-include-as-you-like/*
+ * @include http://*
* @license MIT http://opensource.org/licenses/MIT
* @javascript_url
*/
/*
* @title TAB imgs
* @description append tab navigation to image
* @include http://*
* @license MIT http://opensource.org/licenses/MIT
* @javascript_url
*/
// for background image
// http://let.hatelabo.jp/noromanba/let/hLHW67STx8oc
// e.g.
// http://www.kurage-bunch.com/manga/youkai/01/
(function () {
// slice binding c.f.
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
var slice = Function.prototype.call.bind(Array.prototype.slice);
var handler = function (context) {
// like a NodeFilter; c.f.
// https://developer.mozilla.org/en-US/docs/Web/API/NodeFilter
var filter = function(node, nodeName) {
if (node.nodeName.toLowerCase() === nodeName.toLowerCase()) {
return [node];
}
if (!node.querySelectorAll) { // alt. document.ELEMENT_NODE
return [];
}
return slice(node.querySelectorAll(nodeName));
};
var each = function (imgs) {
imgs.forEach(function (img) {
img.tabIndex = img.tabIndex > -1 ? img.tabIndex : 0;
});
};
each(filter(context, 'img'));
};
handler(document.body);
// c.f. MutationObserver
// https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
// http://caniuse.com/#feat=mutationobserver
new MutationObserver(function (records) {
records.forEach(function (record) {
handler(record.target);
});
}).observe(document.body, { childList: true, subtree: true });
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。