问题标签 [greasemonkey-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
87 浏览

html - 使用 GreaseMonkey 从网站隐藏 DIV 的问题

有一个网站,如果没有广告,您将无法查看内容。我已经尝试过 Anti-Ad Blocker,但脚本使所有链接都无法使用。

我尝试编写 Greasemonkey 脚本来手动隐藏这几个广告,但到目前为止它不起作用(我不知道为什么)。


我要删除的元素:

有时也会随机出现不同的 div,从而阻止整个站点:

我不知道如何删除它,因为它没有 ID。

PS网站如下:https ://shinden.pl/

0 投票
1 回答
126 浏览

xmlhttprequest - 从 Greasemonkey 脚本拦截 XMLHttpRequest 失败

我试图操纵一个网站使用 Greasemonkey(安装版本 4.9)完成的 XMLHttpRequest。拦截应该很简单(如何从 Greasemonkey 脚本中拦截 XMLHttpRequests?)但对我不起作用。也许新版本的 Greasemonkey 改变了?

我显然尝试了链接问题中的示例,但它们没有任何效果 - 尽管我的console.log(...)自定义打开功能中有一个,但控制台中没有打印任何内容。

接下来,我unsafeWindow试了一下。它不应该是必需的。我的用户脚本运行@grant none和文档( 这里)说我的脚本应该在内容范围内运行。

有了unsafeWindow效果,但它完全破坏了 XMLHttpRequest

这在控制台中提供以下输出:

如前所述,XMLHttpRequest 的功能被破坏了。当我使用 Firefox 开发者控制台进一步查看时,我得到了这个

任何设置在window(like window.foobar = "foobar") 上的属性在控制台中都不存在,但那些设置在上面unsafeWindow。我认为这与 Greasemonkey 的沙盒有关。

为什么即使我使用 XMLHttpRequest 也有两个版本@grant none?为什么我的自定义功能受到限制?我可以避免吗?为什么我在窗口上安装事件侦听器时它可以正常工作?

0 投票
0 回答
78 浏览

greasemonkey-4 - 读取本地 json 文件(例如从 c: 驱动器)以进行休息服务数据输入

在greasemonkey javascript中,我需要从本地驱动器(例如c:驱动器)读取JSON数据文件。我怎么读?

尝试使用:- GM_getResourceText

restJSONdata,我需要从本地驱动器读取,因为它是一个大数据。

无法阅读它。

0 投票
1 回答
164 浏览

javascript - Greasemonkey - 从用户脚本访问页面窗口 Javascript 变量?

我正在尝试从 Greasemonkey 脚本访问页面中加载的 javascript 变量。我直接尝试了 var 名称,或者使用window.varname(在控制台中工作),但它们都没有加载到greasemonkey 脚本中(窗口变量是undefined)。

我尝试run-at document-end并在函数周围使用 setTimeout,但这些都不起作用。

是否需要特定的方法来执行此操作,或者我是否遇到了特定页面的错误?

Accessing Variables from Greasemonkey to Page & 反之亦然将此问题作为问题的第二部分提出,但我没有看到明确的答案。(我会在这个问题下发表评论,但我没有学分)。

0 投票
1 回答
393 浏览

greasemonkey - 在不同页面上运行的 2 个greasemonkey 脚本之间共享数据

使用 Firefox 68 和 Greasemonkey 4.9,我想从网页上的脚本中设置一个值,并从另一个网页上的另一个脚本中获取相同的值。它似乎不起作用。我怎样才能做到这一点 ?这是我尝试过的:

脚本 1

脚本 2

即使值在我多次访问http://one.local/stuff/edit时增加,我在访问 http://www.two.local/view 时也无法获得这些(它仍然是 0 !

0 投票
1 回答
204 浏览

javascript - 是否可以使用greasemonkey/tampermonkey 将GM_xmlhttpRequest 用于我的数据表单?

我目前正在研究 GM_getvalue 但它只将数据保存在本地存储中。我想将输入的值保存到 send.php 所在的服务器。

这是我的代码:

有人建议我使用 GM_xmlhttpRequest 但我不知道如何使用它。他告诉我 GM_xmlhttpRequest 看起来像这样:

最后,send.php 代码是什么?

0 投票
1 回答
42 浏览

javascript - 是否可以以编程方式设置用户脚本可以运行的网页?

我目前正在开发一个用户脚本,可以在我离开公司后使用几年。目标受众具有基本的计算机知识——足以填写一个简单的配置菜单。

我担心脚本可能会中断,因为 IT 部门可能会移动我在@include. 我可以记录如何修复脚本,但我想针对我知道非常无能的 IT 部门进行防御性编程。我知道我可以做到以下几点:

  • 允许用户在配置页面中指定 URL。
  • 将 设置@include为非常通用的 ashttps://*.edu/*并在执行命令之前使用if语句来确定我们在用户指定的 URL 上。window.location.href

关于这个解决方案的一些担忧:我希望脚本可以在机构之间轻松重用,这就是我*.edu提到的原因而不是specificschool.edu. 上面的配置将使脚本在任何网站的每个页面上执行,但由于该语句.edu,这些操作只有在网页上时才会发生。if这似乎非常低效,但我知道这可能是在便于携带和效率之间进行权衡。

有没有更好的方法来做到这一点?

0 投票
1 回答
152 浏览

javascript - 如何使用greasemonkey在弹出窗口中自动填充文本字段?

所以基本上我有一个文本字段,包含以下元素。

// 文本框的元素定位器如下:

type="text" name="custom_version_ui" value="" id="custom_version_ui" placeholder="" class="custom form-control form-control-full "

我想用特定值自动填充“custom_version_ui”的文本框。此文本框出现在弹出窗口中,并且在页面加载期间不会出现。(一旦我单击呈现弹出窗口的页面上的添加结果按钮,它就会出现)。

当我们单击“添加结果”按钮时,页面的 URL 不会改变。有没有办法自动填写这些字段?

0 投票
0 回答
136 浏览

tampermonkey - 更改 UserScript 的 @namespace 键有什么后果?

我想将一些用户脚本从 greasyfork.org 和 openuserjs.org 移动到 GitHub。

目前我在两个站点上手动更新脚本,但我阅读了@downloadURL@updateURL键,所以在 GitHub 的一个地方管理更新似乎是要走的路。

我对@namespace密钥有点不确定,我想将其更改为指向我的 GitHub URL,因为我读到更改该密钥将阻止现有用户将来更新,因为它在技术上创建了一个新的第二个脚本。

我打算做什么:

  1. 在 GitHub 上设置所有用户脚本
  2. 将 GitHub@downloadURL@updateURL密钥添加到当前在 greasyfork 和 openuserjs 上的脚本
  3. 在下一次更新中,将@namespace密钥更改为 GitHub URL

我的问题:

这种方法会防止不同步并允许现有安装的平稳过渡吗?

0 投票
0 回答
48 浏览

javascript - 如何在 javascript 中保存变量,使其在所有 firefox 选项卡中可用

我在 mozilla firefox 中使用greasemonkey 运行两个脚本。这些脚本在不同的网站上运行。在第一个脚本中,我想将一个变量“全局”保存到 firefox 中,这样我就可以在另一个网站的第二个脚本中使用它。

我试过的所有选项都不起作用,所以寻找解决方法。

在第二个脚本中,我希望为第一个脚本中保存的变量设置一个文本框值:

有没有办法让这样的事情发生(将变量全局保存到firefox中),而不会使它变得复杂?

PS:抱歉,如果之前已经回答过,尝试寻找但找不到