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

标签 javascript greasemonkey tampermonkey

问题

我有以下函数导出,从之前在 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;
  })();

提前致谢!

最佳答案

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

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

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

关于javascript - 当函数位于 HTML 内的脚本内时,如何使用 TamperMonkey 覆盖变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56684671/

相关文章:

javascript - Electron :复选框未更改值?

javascript - 元素在移动设备上显示时不会居中,背景不会固定

javascript - 如何使用 Greasemonkey 脚本防止 Firefox 中的页面缓存

javascript - 如何使用 greasemonkey/tampermonkey 从一个页面复制 <div> 元素并将其粘贴到另一个页面?

javascript - 在 Tampermonkey 中获取跨度文本的值

javascript - 将 React 组件插入 React 状态数组

javascript - 使用 jquery .load() 函数获取包含句点 ('.' 的参数的 404 错误

javascript - 使用 greasemonkey 拦截和更改站点的 javascript

CSS 背景颜色未一致地应用于已访问的链接。 GM_addStyle 添加的 CSS

base64 - GM_getResourceURL 在 Firefox 中不适用于二进制对象,但在 Tampermonkey 中适用?