问题标签 [tampermonkey]

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 投票
2 回答
4336 浏览

javascript - 如何将书签转换为 Greasemonkey 用户脚本?

有没有一种简单的方法可以做到这一点。由于运行方式的不同,有什么需要改变的吗?

0 投票
1 回答
732 浏览

javascript - 将 Greasemonkey 脚本移植到 Chrome

我找到了一个 Greasemonkey 脚本,它在 Firefox 中运行良好,但在我首选的浏览器 Chrome 中却不行。 http://userscripts.org/scripts/show/105578

我试图自己修复它,但没有运气。我在调试过程中发布了我的发现,这里。

我如何解决它?


更新:(来自OP评论)

通过联系 TamperMonkey 的开发人员得到它的工作。随着 TamperMonkey 的最新测试版和脚本的修改,它可以工作。请参阅userscripts.org 上的此线程

另一个问题指出: Chrome 似乎禁止直接访问锚的href属性(在某些情况下)。

但是,如果通过 一切正常href检索属性。getAttribute()

0 投票
1 回答
3251 浏览

greasemonkey - 获取 2 个用户脚本以相互交互?

我有两个脚本。我把它们放在同一个命名空间(@namespace字段)中。

我希望他们与另一个人互动。

具体来说,我希望脚本 A设置RunByDefault为 123。让脚本 B检查是否RunByDefault==123,然后让脚本 A使用超时或任何方法来调用脚本 B中的函数。

我该怎么做呢?我不想合并脚本。

0 投票
1 回答
1725 浏览

javascript - 谷歌浏览器 console.log 缓存了吗?

有时,当我在用户脚本中使用对象并使用 TamperMonkey 扩展来运行它时,chrome's console.log()函数会被缓存。
影响它的代码是这样的。两者console.log(save);总是打印相同的,尽管永远不会相同。但是,如果我改变console.log(save[testID]['lastCheck']);它会以不同的方式打印。

这可能不会脱离上下文,所以这里是整个脚本: http: //pastebin.com/u1qqCrt2

这也可能没有任何意义,因为它是特定于站点的脚本。

我在 Mac OS X 10.7.1 上运行 15.0.859.0 canary

0 投票
7 回答
38205 浏览

javascript - Google Chrome 中将 Javascript 插入网站的简单方法是什么?

我希望能够将自定义的 javascript 片段添加到任何匹配正则表达式的网站。这主要是因为我每天使用的网站是因为专门的内容,但设计很差。我希望能够做类似的事情:

  • 访问网站查看侧边栏覆盖内容
  • 抽出开发人员工具,找到侧边栏的 div id
  • 编辑在 document.ready 上为此域执行的一段 javascript:

    /li>

对用户脚本的一些搜索告诉我,我需要编写一个 Chrome 扩展程序,这似乎很不幸而且矫枉过正。有没有更简单的方法,或者只是一个将片段分配给域的 javascript 编辑器的扩展?我真的很希望能够在 Chrome 本身中进行编辑,或者至少有一个我可以一直在 MacVim 中保持打开状态的文件。据我所知,扩展程序需要卸载/安装才能更新。

如果我只有一个大的 javascript 文件,那很好。我只是将我的自定义包装在域检查中。

如果我能用 CoffeeScript 写作,那就太棒了。

0 投票
2 回答
1886 浏览

jquery - jQuery click 事件没有在 Greasemonkey 脚本中触发

我已通过 GM 将图像附加到页面,但我试图执行单击事件无济于事。

有什么我想念的想法吗?

页面标记包含:

Greasemonkey/Tampermonkey 脚本片段...

0 投票
1 回答
1029 浏览

javascript - jQuery 插件在子域上不起作用

由于某种奇怪的原因,我遇到了 Chromium 未加载 jQuery 插件的问题。

如果我通过子域访问该页面,它将不会加载。如果我通过根域访问该页面,一切正常。另外,如果我使用 Firefox,两种方式都可以。

这是我正在尝试的简单版本:

当我通过http://digitaleagle.net/example/subdomain.php访问此页面时,一切正常。我看到了警报对话框。

当我使用子域访问页面时,它突然停止工作!链接http://example.digitaleagle.net/subdomain.php返回一个 javascript 错误:

在这个例子中,我在使用日志插件时遇到了问题。在我的实际应用程序中,我也遇到了 Google Analytics 插件的问题。

这是铬错误吗?

这是我的 Chromium 版本信息:

我会继续研究,但是有人对我做错了什么有任何想法吗?

更新:我尝试安装 Chrome 的稳定版和开发版,但我遇到了同样的问题。当我第一次打开 Chrome 时,我看到了 alert() 对话框,但在那之后,它会产生 javascript 错误。我想知道这是否是与 Fedora 15 相关的问题?

这是我当前的版本信息:

更新——

这是我的 TamperMonkey 扩展!我重命名了我的配置文件目录( $HOME/.config/chromium/ ),并且它起作用了。然后,为了试验,我一一禁用了我的扩展。一旦我禁用 TamperMonkey,它就可以正常工作!

所以,现在的问题是,我如何同时获得两者?我将 TamperMonkey 用于其他事情。也许我可以在那个项目上打开一个错误。

0 投票
1 回答
4097 浏览

javascript - 谷歌浏览器 JSON.encode/decode 数组

因此,我正在编写一个小 Greasemonkey Userscript,它在 Firefox 中运行良好,但是如果我尝试在 Google 的 Chrome 上使用 Tampermonkey 运行它,我在编码/解码数组时会出现奇怪的错误。

我尝试使脚本跨浏览器兼容,所以我必须编写一个函数来决定使用哪些 JSON 方法

为了简化事情,我现在将代码简化为一个简单的数组,并尝试编码/解码和迭代

我希望输出是

相反,铬给了我这个

有谁知道如何解决这个问题,或者为什么 chrome 会这样做?

编辑 1: Chrome 版本 15.0.874.121 m

编辑2:还没有弄清楚,但是当我用一个对象而不是一个数组来尝试它时,它可以工作,所以我现在就这样做,感谢您的时间和帮助!

0 投票
2 回答
12770 浏览

javascript - 网站可以知道我是否正在运行用户脚本吗?

例如,Facebook.com 是否可以在我的浏览器上运行版本控制脚本并确定我是否使用脚本运行更改的 HTML 代码?

这是否可以通过一个脚本来完成,该脚本可以读取缓存中的 HTML 代码并生成某种哈希标记,然后将其发送回服务器并与发送到客户端的代码进行比较?

0 投票
1 回答
4173 浏览

synchronization - 同步 GM_xmlhttpRequest 异步执行?

我试图获得一个GM_xmlhttpRequest同步行为的调用,但我无法让它像我期望的那样工作:

我从来没有在这里得到任何回报b;它是未定义的。我在这里缺少一些步骤吗?
我正在使用 Greasemonkey 的 v0.9.13 和 Firefox 的 v9.0.1。