// ==UserScript== // @name feiji-tieba-script // @name:zh-CN 百度飞机汉化组吧脚本 // @version 0.1 // @description Automatic URL conversion // @description:zh-cn 自动转换4位尾号为网址 // @author yahiousun // @include *://tieba.baidu.com/p/* // @grant none // @namespace https://greasyfork.org/users/157242 // @downloadURL none // ==/UserScript== (function(window, document) { 'use strict'; var CODE_REGEX = /(\u4ee3\u7801|\u4ee3\u53f7|\u5c3e\u53f7|\u672b\u4f4d|\u56db\u4f4d|\u56db\u4f4d\u6570|\u4f60\u4eec\u61c2\u5f97)[^\d]*?(\d{4})(?!:)/g; var TEMPLATE = "http://smp.yoedge.com/view/omnibus/100$2"; var THRESHOLD = 1000; function immediate(fn, threshold, context) { var timer, available = true; return function() { var args = arguments; if (available) { fn.call(context, args); available = false; } clearTimeout(timer); timer = setTimeout(function() { available = true; }, threshold); }; } function smp() { if (CODE_REGEX.test(document.body.innerHTML)) { var cc = document.querySelectorAll('cc'); [].forEach.call(cc, function(node) { node.innerHTML = node.innerHTML.replace(CODE_REGEX, TEMPLATE); }); } } window.addEventListener('DOMNodeInserted', immediate(smp, THRESHOLD)); window.addEventListener('DOMSubtreeModified', immediate(smp, THRESHOLD)); })(window, document);