问题标签 [greasemonkey]
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.
javascript - Greasemonkey 脚本和函数作用域
这是我的脚本代码:
我唯一的问题是单击 Hello World 时页面找不到 test() 函数。请告诉我,我不必像这样通过将函数innerHTML'ing 到页面上来解决它。还有其他方法吗?
谢谢。
javascript - 从 Greasemonkey 调用 jQuery UI 对话框时抛出错误
每当我尝试从 Greasemonkey 创建一个对话框时,我都会遇到这个尴尬的错误......我相信这与 XPCNativeWrapper https://developer.mozilla.org/en/XPCNativeWrapper#Limitations_of_XPCNativeWrapper的限制有关 ,尽管我是不是100%确定。
我使用的核心 jQuery 方法都没有导致错误(append、css、submit、keydown、each、...)。
这可能是 Greasemonkey 中的错误,或者是由于 Greasemonkey 和 jquery ui 之间的交互,但我真的很想弄清楚如何让它们一起工作。
错误:[异常...“组件不可用”nsresult:“0x80040111(NS_ERROR_NOT_AVAILABLE)”位置:“JS 框架 :: file:///home/daniel/.mozilla/firefox/.../components/greasemonkey. js :: 匿名 :: 第 347 行”数据:否] [打破此错误] if (line) {
Firefox 版本:Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
更新:标准 jQuery 库中的 focus() 方法也会抛出相同的错误:
也许 UI 在某个时候调用了 focus 方法?
任何帮助将不胜感激!
javascript - 将选定区域作为图像上传到服务器
我想创建一个应用程序(Firefox 扩展),它将抓取一个屏幕区域,保存为图像并上传到服务器。
这是我的路线图:
首先,我将创建一个适用于所有域的greasemonkey用户脚本。当任何页面加载时,它会添加一个名为screengrab + upload
. 当用户单击按钮时,它将添加一个鼠标处理程序,以便我可以绘制一个div
元素。
通过这个可调整大小div
的元素,我将在网页上选择一个矩形区域。在MouseUp
事件中,我将在选定区域上添加一个等效Canvas
元素。
然后我将使用todataurl
函数将所选区域转换为图像/png。现在,我想将此数据上传到我的服务器。因为我的服务器与网页的域不同,所以我需要通过跨域脚本将数据(image/png base64 编码)上传到服务器。
对于图片上传,我将iframe
在网页中添加一个隐藏在我的域中的内容。从网页,数据将作为变量发布到此iframe
,然后从iframe
,数据将发布到我的服务器。
最后,我将使用编译器/转换将greasemonkey脚本转换为FireFox 扩展。
我可以这样申请吗?请提出正确的方法来做到这一点。
javascript - 启动一个应用程序来记录与greasemonkey保持一致
我让我的greasemonkey 脚本扫描我访问的每个页面以查找特定字符串。我想在sqlite db中记录字符串的变化。我每隔一段时间就会有另一个应用程序处理这个数据库。我不知道如何将数据存储到 sqlite db 中?我在想如果找到字符串,我可以自动启动一个可执行文件,但我不知道如何通过 javascript 来做到这一点。我认为的另一种选择是在某个端口上侦听套接字并具有一些 js 魔法,但我想不出一种静默的方式来发送这样的数据。
javascript - Greasemonkey 脚本可以覆盖 AdBlock 过滤器吗?
我有一个Greasemonkey脚本试图访问Adblock禁用的 HTML 元素。是否可以使用 Greasemonkey 脚本创建解决方法以防止与 Adblock 插件发生冲突?
我对任何想法持开放态度,但是目前更改脚本以避免 Adblock 元素并不是解决方案。
附加信息
我试图“启用”的 addblock 元素是来自谷歌搜索结果的 Table 元素。
隐藏元素的 Adblock 过滤器是:
更新:有些人建议我简单地禁用我正在处理的页面的 adblock 过滤器。我也认为这是一个非解决方案,因为任何使用我的脚本的人都必须执行相同的操作,而且我不能指望我的所有用户都手动修改他们的 Adblock 设置。
javascript - 如何捕获定期刷新 gmail 收件箱的 Ajax 事件
我正在尝试编写一个适用于 Gmail 的 Greasemonkey 脚本。我知道如何创建响应用户单击收件箱链接或刷新链接的 javascript。我的问题是 Gmail 会定期用新对话刷新收件箱,而我无法捕获此事件。有没有办法在 javascript 中捕获周期性的 Ajax 事件?
javascript - 如何从 Greasemonkey 脚本中截获 XMLHttpRequests?
我想使用 Greasemonkey 捕获 AJAX 请求的内容。
有人知道怎么做这个吗?
javascript - 请检查我的 Javascript 代码段。这是 FB Mobwars 的油脂猴脚本
嘿伙计们,我正在通过开发greasemonkey 脚本来练习我的Javascript 编程,理论上它会改进我的javascript 编码,因为它是原始的javascript。
所以现在,我正在为 Mobwars facebook 编写一个脚本。这是一个游戏,你可以杀人、偷东西、制造怪物等等。
为了更好地理解这一点,这是页面的屏幕截图:
alt text http://www.picamatic.com/show/2009/03/18/08/11/2877480_703x486.png 我要做的是扫描页面,获取作业名称并显示它给用户。
我想要获取 Mugging、House Burgary、Stoplight Car Theft 等文本
文本具有设置为银色的颜色属性。
看看我的代码,我在 Firebug 中尝试过,但它甚至没有发出警报..
告诉我代码有什么问题。我会调整这段代码,如果我设法修复它,我会在这里再次报告。谢谢
javascript - 检查 gmail 按钮的 javascript 调用
我正在为gmail编写一个greasemonkey脚本,其中知道单击“发送”按钮时进行了哪些函数调用非常有用。(我无法使用 firebug 找到它,但我对 javascript 调试相对较新。)似乎应该能够检测到这一点,我只是不知道要使用什么工具。
非常感谢您的帮助。
ps 最终的目标是能够为传出的 gmail 消息提取一个唯一的消息 id,我认为它会出现在这个 javascript 调用中——所以如果有另一种方法可以做到这一点,那也可以。
firefox - 在没有 current() 的情况下获取当前节点和另一个节点之间的所有节点?
我正在研究一个 Greasemonkey 脚本,该脚本需要在其他两个节点之间的每个节点上运行。目前,我正在使用(越来越复杂的)XPath 表达式获得第一个节点。我有另一个表达式来获取“中间”节点,但它包含两次初始表达式并且变得相当长。这是一个仅包含两个“子句”的早期版本:
我正在寻找的是一种基于上下文节点选择“内容”的方法,而不是多次重新包含原始表达式——“标题”表达式将很快变得相当复杂。我知道这可以在 XSLT 中使用该current()
函数来完成,但当然这在 vanilla XPath 中不可用:
当我键入此内容时,我突然想到,此时使用 DOM 收集内容可能比 XPath 更容易,但我仍然很想知道这是否可以完成。
该脚本的原始版本可在 UserScripts.org 上找到。