如何使用 greasingmonkey 覆盖 JavaScript 值?

如何使用 greasingmonkey 覆盖 JavaScript 值?

我通常要访问一个网站:

https://xyz.asd.com/maximo/ui/maximo.jsp?sc=4325286581&event=loadapp&value=incident

其 HTML 代码包含以下行:

SESSION_TIMEOUT = 1800;//in seconds.

我需要将此字符串更改为例如:

SESSION_TIMEOUT = 1800000;//in seconds.

Greasmonkey 可以做到这一点。但是怎么做呢?我在 Google 上搜索了几个小时,但原来的行没有动过...有人能帮我吗?

答案1

// ==UserScript==
// @name          Script Name Here
// @namespace     http://www.site.com/your-personal-namespace
// @description   An Greasemonkey script that changes the session timeout value
// @include       https://xyz.asd.com
// ==/UserScript==
window.SESSION_TIMEOUT = 1800000;

答案2

您可能想要使用unsafeWindow,顾名思义,它不是最安全的方法——但如果您所做的只是更改基于页面的变量的值,则不存在任何风险。

// ==UserScript==
// @name          Script Name Here
// @namespace     http://www.site.com/your-personal-namespace
// @description   An Greasemonkey script that changes the session timeout value
// @include       https://xyz.asd.com
// ==/UserScript==

unsafeWindow.SESSION_TIMEOUT = 1800000;

如果您只是使用window.SESSION_TIMEOUT,那么您很可能无法访问正确的范围,并且您的SESSION_TIMEOUT变量将不会被修改,并且在另一个上下文/范围内创建一个新的变量。

答案3

好老

location.href="javascript:(function(){ window.SESSION_TIMEOUT = 1800000; })()"

技巧应该有效。

相关内容