您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Prevents page refresh when hospitalized on Torn.
// ==UserScript== // @name NoPageRefreshWhenHosped // @namespace http://tampermonkey.net/ // @version 1.0 // @description Prevents page refresh when hospitalized on Torn. // @author amelia // @match https://www.torn.com/* // @run-at document-start // @grant GM_addStyle // ==/UserScript== (function () { "use strict"; const dataProperty = Object.getOwnPropertyDescriptor(MessageEvent.prototype, "data"); const originalGetter = dataProperty.get; dataProperty.get = hookedGetter; Object.defineProperty(MessageEvent.prototype, "data", dataProperty); function hookedGetter() { const socket = this.currentTarget; if (!(socket instanceof WebSocket) || socket.url.indexOf("ws-centrifugo.torn.com") === -1) { return originalGetter.call(this); // Invalid or wrong WebSocket } const message = originalGetter.call(this); Object.defineProperty(this, "data", { value: message }); // Anti-loop return handleMessage(message); } function handleMessage(message) { console.log("NoPageRefreshWhenHosped: " + message); let resultMessage = message; if (resultMessage.includes(`"onHospital":[],`)) { resultMessage = resultMessage.replace(`"onHospital":[],`, ""); console.log("NoPageRefreshWhenHosped Modified: " + resultMessage); } return resultMessage; } })();