Como sobrescrever um valor JavaScript com o greasemonkey?

2

Eu geralmente tenho que visitar um site:

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

que contém a seguinte linha em seu código HTML:

SESSION_TIMEOUT = 1800;//in seconds.

Eu preciso alterar essa string para ex .:

SESSION_TIMEOUT = 1800000;//in seconds.

O Greasmonkey pode fazer isso. Mas como? Continuei pesquisando por horas, mas a linha original está intocada ... Alguém pode me ajudar?

    
por LanceBaynes 05.12.2011 / 01:09

3 respostas

2

Você vai querer usar unsafeWindow , que, como o nome infere, não é o método mais seguro - mas se tudo o que você está fazendo é mudar o valor de uma variável baseada em página, não há riscos envolvidos. / p>

// ==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;

Se você usar apenas window.SESSION_TIMEOUT , provavelmente não estará acessando o escopo correto, e sua variável SESSION_TIMEOUT não será modificada e uma nova será criada dentro de outro contexto / escopo.

    
por 06.01.2012 / 19:56
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;

?

    
por 05.01.2012 / 00:30
0

Bom e velho

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

o truque deve funcionar.

    
por 08.01.2012 / 03:16