您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fix an script error when writing a new message.
- // ==UserScript==
- // @name TAMailMessageErrorFix.js
- // @description Fix an script error when writing a new message.
- // @author VisiG
- // @version 0.2
- // @namespace https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
- // @include https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
- // ==/UserScript==
- (function () {
- var TAMailMessageErrorFix_main = function () {
- function TAMailMessageErrorFix_checkIfLoaded() {
- if (PerforceChangelist >= 443425) { // patch 16.1
- try {
- if (typeof qx !== 'undefined' && typeof qx.core !== 'undefined' && typeof qx.core.Init !== 'undefined') {
- try {
- for (var key in webfrontend.gui.mail.MailMessage.prototype) {
- if (webfrontend.gui.mail.MailMessage.prototype.hasOwnProperty(key) && typeof(webfrontend.gui.mail.MailMessage.prototype[key]) === 'function') { // reduced iterations from 20K to 12K
- strFunction = webfrontend.gui.mail.MailMessage.prototype[key].toString();
- if (strFunction.indexOf("this.kids") > -1) {
- keyBackup = key + "Base";
- webfrontend.gui.mail.MailMessage.prototype[keyBackup] = webfrontend.gui.mail.MailMessage.prototype[key];
- var matches = strFunction.match(/var (\S*)=this\.(.*)\.getChildren/);
- var arrayParent = matches[2];
- webfrontend.gui.mail.MailMessage.prototype[key] = eval('(' +
- 'function ()' +
- '{this.kids = this.'+arrayParent+'.getChildren();' +
- 'this.'+keyBackup+'();' +
- '}'
- + ')') ;
- console.log("TAMailMessageErrorFix: fixed");
- break;
- }
- }
- }
- } catch (e) {
- console.error("TAMailMessageErrorFix: " + e);
- }
- } else {
- window.setTimeout(TAMailMessageErrorFix_checkIfLoaded, 1000);
- }
- } catch (e) {
- console.log("TAMailMessageErrorFix_checkIfLoaded: ", e);
- }
- }
- }
- if (/commandandconquer\.com/i.test(document.domain)) {
- window.setTimeout(TAMailMessageErrorFix_checkIfLoaded, 1000);
- }
- }
- try {
- var script = document.createElement("script");
- script.innerHTML = "(" + TAMailMessageErrorFix_main.toString() + ")();";
- script.type = "text/javascript";
- document.getElementsByTagName("head")[0].appendChild(script);
- } catch (e) {
- console.log("TAMailMessageErrorFix: init error: ", e);
- }
- })();