当函数在HTML内的脚本内时,如何使用TamperMonkey覆盖变量值

时间:2019-06-20 11:07:40

标签: javascript greasemonkey tampermonkey

问题

我有以下功能 export

之前的HTML页面中找到
 <input class="print" type="button" value="EXPORT" onclick="export()">

我想将值 50000 修改为更大的值,例如 100000 以及带有TamperMonkey的警报消息,但直到现在还不知道该怎么做

<script>

  function export() {
    var ssrt=$('#minrng').val();
    if(ssrt==''||ssrt==undefined){
        alert("Please enter the minimum range");
        return false;
    }
    var maxlength=$('#maxrng').val();
    if(maxlength==''|| maxlength==undefined){
        alert("Please enter the maximium range");
        return false;
    }
    if(maxlength > 50000){
        alert("The range should be less than 50000");
        return false;
    }
    ...

我到目前为止所做的事情:

我尝试使用以下脚本用TamperMonkey覆盖值 50000 ,但是该值仍然相同 如果成功更改了值,如何更改警报消息?

(function() {
  'use strict';
   location.href="javascript:(function(){ window.maxlength = 100000; })()"
   unsafeWindow.maxlength = 100000;
   Window.maxlength = 100000;
  })();

谢谢!

1 个答案:

答案 0 :(得分:2)

如果我理解您的观点正确,那么您想更新if(maxlength > 50000){…中的数字50000,而不是maxlength本身。因此,您不应该尝试更改maxlength,而要更改数字。您可以使用以下方式更改脚本元素:

document.getElementsByTagName('script')[0].innerHTML=document.getElementsByTagName('script')[0].innerHTML.replace(/50000/g,'100000');

您可能必须先编写一个循环,然后搜索所有脚本元素以找到要更改的正确元素。