t.um block
by
noromanba
2016-02-12 [2016/02/12 05:20:12]
detox t.umblr.com link on tumblr.com
@@ -16,30 +16,30 @@
// e.g.
// http://yahoo.tumblr.com/post/138290069904/yahoo-sports-launches-the-vertical
(() => {
- 'use strict';
+ 'use strict';
- const detox = (ctx) => {
- if (!ctx.querySelectorAll) return;
+ const detox = (ctx) => {
+ if (!ctx.querySelectorAll) return;
- Array.from(ctx.querySelectorAll([
- '[href^="http://t.umblr.com/redirect?z="]',
- '[src^="http://t.umblr.com/redirect?z="]'
- ]), link => {
- // redirector syntax;
- // http://t.umblr.com/redirect?z=<ENCODED_URL>&t=<72_DIGIT_HASH>
- let url = decodeURIComponent(new URL(link.href).search.slice(3));
- url = url.split('&');
- url.pop(); // delete "t=<72_DIGIT_HASH>"
+ Array.from(ctx.querySelectorAll([
+ '[href^="http://t.umblr.com/redirect?z="]',
+ '[src^="http://t.umblr.com/redirect?z="]'
+ ]), link => {
+ // redirector syntax;
+ // http://t.umblr.com/redirect?z=<ENCODED_URL>&t=<72_DIGIT_HASH>
+ let url = decodeURIComponent(new URL(link.href).search.slice(3));
+ url = url.split('&');
+ url.pop(); // delete "t=<72_DIGIT_HASH>"
- link.href = url.join('&');
- });
- };
- detox(document.body);
+ link.href = url.join('&');
+ });
+ };
+ detox(document.body);
- new MutationObserver(records => {
- records.forEach(record => {
- detox(record.target);
- });
- }).observe(document.body, { childList: true, subtree: true });
+ new MutationObserver(records => {
+ records.forEach(record => {
+ detox(record.target);
+ });
+ }).observe(document.body, { childList: true, subtree: true });
})();
/*
* @title t.um block
* @description detox t.umbler.com link on tumblr.com
* @include *://*.tumblr.com/*
* @license CC0 Univ PD https://creativecommons.org/publicdomain/zero/1.0/legalcode
* @javascript_url
*/
// UserScript
// https://gist.github.com/noromanba/76a3d7791cf6eaf1c94c
// c.f.
// http://ptech.g.hatena.ne.jp/noromanba/20160208/1454965267
// https://stackoverflow.com/questions/35023389/tumblr-injecting-new-code-into-my-links
// e.g.
// http://yahoo.tumblr.com/post/138290069904/yahoo-sports-launches-the-vertical
(() => {
'use strict';
const detox = (ctx) => {
if (!ctx.querySelectorAll) return;
Array.from(ctx.querySelectorAll([
'[href^="http://t.umblr.com/redirect?z="]',
'[src^="http://t.umblr.com/redirect?z="]'
]), link => {
// redirector syntax;
// http://t.umblr.com/redirect?z=<ENCODED_URL>&t=<72_DIGIT_HASH>
let url = decodeURIComponent(new URL(link.href).search.slice(3));
url = url.split('&');
url.pop(); // delete "t=<72_DIGIT_HASH>"
link.href = url.join('&');
});
};
detox(document.body);
new MutationObserver(records => {
records.forEach(record => {
detox(record.target);
});
}).observe(document.body, { childList: true, subtree: true });
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。