问题标签 [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.
firefox - 如何替换 Element 原型方法?
我应该怎么做才能使它在greasemonkey中工作?:
现在,当我使用这个时:
document.body.attachShadow({mode:"closed"}).innerHTML = "dec";
这是错误吗:
错误:访问对象的权限被拒绝
我应该怎么做才能使应用程序使用替代方法?
编辑(更多信息):
Firefox Nightly 62.0a1 (2018-06-18) (64 位)
Greasemonkey 4.4.0
测试页面: http: //kind-clarke-ced7cb.bitballoon.com/
现在,attachShadow 方法的这种替换根本不起作用。
#test 的 shadowRoot 返回 null 但应该是[object ShadowRoot]
,因为 UserScript 强制它。
javascript - 单击登录按钮的用户脚本(https://steamcommunity.com/login)
我正在尝试在打开https://steamcommunity.com/login/时自动登录。
使用 submit() 或 click() 会将我重定向到https://steamcommunity.com/login/#而不是登录。如果我删除 steamLoginForm.submit(); 并手动单击按钮即可工作;所以我假设我必须以不同的方式点击/提交。
javascript - 从 tampermonkey 脚本调用 Javascript 文件中的函数
我正在尝试编写一个 tampermonkey 脚本并想调用网页提供的 javascript 函数。页面的 HTML 如下所示:
我的脚本在页面上创建了一个按钮,我希望它调用 openDownloadAsPanel 方法,该方法的定义在 JS 文件中(不是 HTML 文件的一部分)。
为此,我尝试了这个:
然后点击我创建的按钮,addFunction(myFunction, true); 我收到一个错误:openDownloadAsPanel
未定义
此外,我不知道 javascript 文件的文件,因为它由 cloudfront 提供,并且如果文件更改,名称会不断更改。或者可能我将不得不解析写在 HTML 文件中的所有 javascript 文件名/路径。
javascript - Permission denied to access object when trying to call Greasemonkey-4 injected function
I want to add debug function to the page that allows me to click N times given element as one liner JS console call. I have following short script:
but when I try to to invoke that from the page (console) i get this
Why is that? How can I access exported function?
Moreover, clickMe
is printed out as Restricted
How to deal with that ?
javascript - 仅显示相关的下拉选项
只有那些在网页上与我相关的下拉选项对我来说是可见的。(其他应该隐藏)
例子:
而不是具有选项的下拉菜单:
A B C D E F
我只想让我看到以下 2 个选项 A C
这将节省我们的时间并减少选择错误选项的机会,因为下拉列表目前有 10 多个选项,并且只有 3 个选项与我的团队相关。
请注意:我们不允许更改页面的源代码,所以我希望这可以通过可以在 Grease/Tamper Monkey 上运行的脚本(JS)来实现。
javascript - 为什么分配给“window”的函数和类在 GreaseMonkey 脚本中不相等?
我有一个Foo
带有静态方法的类,它与 进行比较this
,Foo
出于某种原因,该比较的输出是false
:
怎么会这样?我怀疑这与 Greasemonkey 在具有提升权限的沙箱中执行用户脚本有关,但即便如此我也不明白为什么会输出false
. true
此外,如果函数和类未分配给,则输出更改为window
:
这里发生了什么?
javascript - 油脂猴 - 加载 html 和 css 时运行脚本
正如标题所说,我想等到 html 被解析,并且所有样式表都被加载,因为我需要使用currentsyle
. 但是,我不想等待图像。所以我不能使用load
事件,因为它等待图像。而且我不能使用该DOMContentLoaded
事件,因为它不等待样式表。我也不能使用document.body.appendChild
在文档末尾添加脚本标记,因为该脚本是在假设页面上的 javascript 被禁用的情况下运行的。
真的没有等待样式的事件吗?
javascript - Greasemonkey 将参数添加到 URL 的末尾
我有一点 Greasmonkey 麻烦
我想写一个自动添加“?”的脚本 到使用论坛时获取的每个 url 的末尾(说来话长,但这样做可以防止所有者遇到的缓存问题)
我有这个,但它做了我想要的,但是它继续重定向并添加另一个“?” 所以我最终得到“forum.domain.com/viewforum.php?f=4????????????” 并且在不加载论坛的情况下不断添加另一个问号
这对我来说是基本的,所以我无法解决这个问题,所以我们将不胜感激。
我猜需要进行某种检查以查看 ts 是否已经运行,但是当我作为初学者跳入 StackOverflow 时,任何帮助将不胜感激。
谢谢
jquery - 使用 jQuery 和 contains() 进行全词匹配
我正在编写一个 Greasemonkey 脚本来选择性地隐藏包含讨厌的东西的元素(如果你愿意的话,一个个人网络清洁剂)。
这是我到目前为止所得到的:
它工作得很好,但它会进行部分单词匹配,这使得短单词不起作用。我想过滤包含“die”和“gun”等词的元素,而不过滤那些带有“candied”或“gung-ho”等词的元素。
需要明确的是,我追求的是整个单词,而不是确切的文本。我希望列表中的“枪”不仅匹配“枪”,还匹配“他开枪”和“开枪”。而不是“枪手中士”。
我在这个主题上看到的所有其他答案都推荐 jQuery 的 filter()。我觉得我理解得不够好。我尝试在循环中使用这一行,但没有:
我想看的另一个角度是摆弄 containsNC 所以它会寻找这个词,但两边都有空格或字符串结尾。不过,我真的不明白 containsNC 是如何工作的。
任何指针将不胜感激!