您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
在 Padavan 设备状态中显示 WIFI 信号强度,点击“信号”标题可按信号强度排序。
当前为
// ==UserScript== // @name 显示信号强度 // @namespace http://yonsm.net/ // @version 1.1 // @description 在 Padavan 设备状态中显示 WIFI 信号强度,点击“信号”标题可按信号强度排序。 // @author Yonsm // @include */device-map/clients.asp // @run-at document-end. // @grant none // ==/UserScript== (function() { //'use strict'; var ajax = new XMLHttpRequest(); ajax.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var text = this.responseText; var token = 'MAC PhyMode BW MCS SGI LDPC STBC TRate RSSI PSM Connect Time'; var start = text.indexOf(token); if (start == -1) { console.log('未找到特征:' + text); return; } start += token.length; var end = text.indexOf('</textarea>', start); var lines = text.substring(start, end).split('\n'); var dict = []; for (var i = 0; i < lines.length; i++) { var fields = lines[i].split(/\s+/); if (fields.length == 11) { var mac = fields[0].split(':').join(''); dict[mac] = fields[8]; } } var table = document.getElementById('Clients_table'); if (table == null) { console.log('未找到表格'); return; } var rows = table.rows; rows[1].cells[4].innerHTML = '<a href="#" onclick="reorder(); return false">信号</a>'; var items = []; for (i = 2; i < rows.length; i++) { var cells = rows[i].cells; if (cells.length < 5) { console.log('列表数据不足'); return; } mac = cells[3].innerText; var rssi = dict.hasOwnProperty(mac) ? dict[mac] : '-00'; items.push([cells[0].innerHTML, cells[1].innerHTML, cells[2].innerHTML, cells[3].innerHTML, rssi]); } if (top.location.hash == '#sort') { items.sort(function(x, y) {return y[4] - x[4]}); } for (i = 2; i < rows.length; i++) { for (var j = 0; j < 5; j++) { rows[i].cells[j].innerHTML = items[i-2][j]; } } var script = document.createElement('script'); script.innerHTML = 'function reorder() {\n\ var rows = document.getElementById("Clients_table").rows;\n\ var items = [];\n\ for (i = 2; i < rows.length; i++) {\n\ var cells = rows[i].cells;\n\ var key = cells[4].innerText;\n\ items.push([cells[0].innerHTML, cells[1].innerHTML, cells[2].innerHTML, cells[3].innerHTML, key]);\n\ }\n\ items.sort(function(a, b) {return reverse ? a[4].localeCompare(b[4]) : b[4].localeCompare(a[4])});\n\ reverse = !reverse;\n\ for (i = 2; i < rows.length; i++) {\n\ for (var k = 0; k < 5; k++) {\n\ rows[i].cells[k].innerHTML = items[i-2][k];\n\ }\n\ }\n\ }\nvar reverse = false;'; document.body.appendChild(script); } }; ajax.open("GET", '/Main_WStatus2g_Content.asp', true); ajax.send(); })();