Как переопределить значение переменной с помощью TamperMonkey, когда функция находится внутри скрипта в HTML - PullRequest
2 голосов
/ 20 июня 2019

Проблема

У меня есть следующая функция 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;
    }
    ...

Что я делал до сих пор:

Я попробовал следующий скрипт, чтобы переопределить значение 50000 с помощью TamperMonkey, но значение все еще то же самое И какизменить предупреждающее сообщение, если значение было успешно изменено?

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

Заранее спасибо!

1 Ответ

2 голосов
/ 20 июня 2019

Если я правильно вас понял, вы хотите обновить число 50000 в if(maxlength > 50000){…, а не maxlength. Таким образом, вы не должны пытаться изменить maxlength, но номер. Вы можете изменить элемент скрипта примерно так:

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

Возможно, вам придется сначала написать цикл и выполнить поиск по всем элементам сценария, чтобы найти правильный, который нужно изменить.

...