您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
to reduce repetition in creating scripts for Tampermonkey support
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.org/scripts/23115/265708/Tampermonkey%20Support%20Library.js
var tm = { addGlobalStyle: function(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); }, log: function(msg) { console.log('Tampermonkey: ' + msg); }, selectText: function (targetClass) { var textToCopy, range; try { if (document.selection) { range = document.body.createTextRange(); range.moveToElementText(document.getElementsByClassName(targetClass)[0]); range.select(); } else if (window.getSelection) { var selection = window.getSelection(); range = document.createRange(); range.selectNode(document.getElementsByClassName(targetClass)[0]); selection.removeAllRanges(); selection.addRange(range); } } catch (err) { tm.log('Failed to select text'); } }, sysFriendly: function(el) { var text = $(el).text(); $(el).text(text.replace(/\/|\:|\<|\>|\\|\||\*|\?/g, '-')); }, ping: function (ip, callback) { // via http://jsfiddle.net/GSSCD/203/ if (!this.inUse) { this.status = 'unchecked'; this.inUse = true; this.callback = callback; this.ip = ip; var _that = this; this.img = new Image(); this.img.onload = function () { _that.inUse = false; _that.callback('responded'); }; this.img.onerror = function (e) { if (_that.inUse) { _that.inUse = false; _that.callback('error', e); } }; this.start = new Date().getTime(); this.img.src = "http://" + this.ip; this.timer = setTimeout(function () { if (_that.inUse) { _that.inUse = false; _that.callback('timeout'); } }, 1500); } }, isTagIn: function (targetString, tags) { var isFound = false; _.each(tags, function scanTarget (tag) { if (targetString.toLowerCase().indexOf(tag.toLowerCase()) > -1) { isFound = true; } }); return isFound; }, copyTextToClipboard: function (text) { var copyFrom = document.createElement("textarea"); copyFrom.textContent = text; var body = document.getElementsByTagName('body')[0]; body.appendChild(copyFrom); copyFrom.select(); document.execCommand('copy'); body.removeChild(copyFrom); }, waitTimers: [], getContainer: function (opts) { var options = { id: opts.id ? opts.id : opts.el.replace(/[ (:)]/g, ''), el: opts.el, try: 0, max: opts.max ? opts.max : 20, spd: opts.spd ? opts.spd : 500 }; clearTimeout(tm.waitTimers[options.id]); return new Promise(function (resolve, reject) { tm.waitForContainerElement(resolve, options); }); }, waitForContainerElement: function (resolve, options) { var $configElement = $(options.el); if ($configElement.length === 0) { options.try++; if (options.try < options.max) { tm.waitTimers[options.id] = setTimeout(tm.waitForContainerElement.bind(this, resolve, options), options.spd); } else { $('#output').val($('#output').val() + 'Maximum searches reached\n'); } } else { resolve($configElement); } } };