草庐IT

GreaseMonkey

全部标签

javascript - 如何将 Greasemonkey 脚本发布为 Firefox 附加组件?

我最近在Greasemonkey中编写了一个脚本,并想将其发布为Firefox的附加组件。最简单的方法是什么? 最佳答案 虽然您可以“编译”GreaseMonkey脚本(请参阅Brock的回答),但该解决方案并没有得到很好的支持。更可靠的选择是使用Add-onSDK和JPM.您的lib/main.js文件可以非常简单(page-modmoduledocumentation):vardata=require("sdk/self").data;varpageMod=require("sdk/page-mod");pageMod.Page

javascript - 函数已定义,但错误提示.. 找不到函数! (奇怪的)

这是我的代码:functionmark(){alert("Thisisatestbox..");}setTimeout("mark()",5000);Error:Functionmark()isnotfound!!还有一些其他问题......因为它适用于http://jsfiddle.net/russcam/6EXa9/但它在我的应用程序中不起作用..所以你能帮我调试吗?还有什么原因......顺便说一句,我在GreaseMonkey脚本中运行它! 最佳答案 如果您使用的是GreaseMonkey,您定义的任何函数都会被GM沙盒化,

javascript - 我如何在 Chrome 中模仿 Greasemonkey/Firefox 的 unsafeWindow 功能?

我现在只是在chrome中摆弄用户脚本,所以请原谅我潜在的无知/白痴。在我为其编写脚本的页面中,有一个声明变量的元素x.这是否意味着,在我的用户脚本中,我只能访问x来自全局命名空间?例如,如果我的用户脚本中只有一行是alert(x);,是否应该按预期工作(假设x是一个字符串)?我知道chrome不支持unsafewindow,但出于某种原因,我发现无法弄清楚如何模仿该功能。有可能吗? 最佳答案 这将为您提供对窗口对象的引用(如p):varp=unsafeWindow;if(window.navigator.vendor.match(

javascript - 使用 postmessage 与 iframe 通信 - 错误在哪里?

我有一个Greasemonkey脚本,它应该向嵌入式iframe发送一个后置消息,在该iframe中,相同的脚本启动一个函数。我的注意力是发送一个简单的消息来触发iframe中的一个函数。该网站和iframe不在同一域中。我的js技术很差,找不到问题。感谢阅读//==UserScript==//@nameTest//@namespace//@includedomainA//@includedomainB//@version1//@grantnone//==/UserScript==if("domainA"===location.hostname){if(window===top)//p

javascript - 如何防止@require 缓存外部js 脚本

我目前正在尝试弄清楚如何在我的网络服务器上的scriptish/greasemonkey脚本中包含一个javascript,并让它在每次调用用户脚本时重新加载脚本。我正在我的网络服务器上编辑脚本,我真的不想每次对包含的脚本进行更改时都重新安装用户脚本。有什么办法可以解决这个问题吗?我一直在寻找答案,但到目前为止没有找到答案。明确地说,我的用户脚本如下所示://==UserScript==//@idHET//@nameSettingsHandler//@version1.0//@namespaceHET//@requirehttp://urltoscript/scripts/he/lib

JavaScript - Greasemonkey 的工作原理

我读了2005年写的“DiveintoGreasemonkey”(作者MarkPilgrim)。它提到Greasemonkey将用户脚本包装在匿名函数包装器中。Greasemonkey是否将包装器插入源JavaScript代码或将其添加为任何事件处理程序,例如window.onload? 最佳答案 DoesGreasemonkeyinsertthewrapperintothesourceJavaScriptcodeoradditasanyeventhandlersuchaswindow.onload?GM监听DOMContentLo

javascript - 在浏览器中禁用 JS 时,setTimeout 在 Greasemonkey 用户脚本中不起作用

我正在从事一个项目,该项目要求我的用户脚本在呈现页面时在页面上运行,而不执行页面的任何JavaScript。也就是说,我们需要在禁用JavaScript的情况下进行浏览。当我尝试延迟脚本中函数的执行时,我遇到了一个问题。每当我调用window.setTimeout时,我传入的函数永远不会执行。我想也许这个函数实际上是在unsafeWindow而不是窗口上被调用的。有什么解决方法吗?我应该提到,当启用JavaScript时,对setTimeout的调用工作正常,并且我的脚本中的所有其他内容在不启用JavaScript的情况下工作正常。感谢您的帮助! 最佳答案

javascript - 用于在 gmail 中插入数学的 Greasemonkey 脚本

我希望有一种简单的方法来与gmail交流数学方程式。有一个javascript名为AsciiMath的脚本,它应该将类似Tex的方程式转换为标准的mathML。我认为将此脚本与GM一起使用会很好。我认为在发送电子邮件之前,此脚本会将您电子邮件中所有类似TeX的方程式转换为MathML。因此,使用FF(或安装了MathPlayer的IE)的读者将能够轻松阅读这些方程式。理想情况下,我希望以某种方式将原始的类似TeX的方程式保存在纯文本消息中,以便纯文本电子邮件客户端(例如mutt)可以读取它。显然这里最薄弱的环节是客户端软件,它很可能不支持MathML。尽管如此,如果我的通讯员使用的是F

javascript - Greasemonkey 脚本仅在页面重新加载时运行

我正在编写Greasemonkey脚本,将一些文本转换为aRally上的链接。页。该脚本仅在我重新加载页面时工作正常。如果我以任何方式(链接、浏览器前进/后退)导航到页面,脚本不会运行,尽管Greasemonkey菜单在底部显示我的脚本,并带有复选标记。这是一个示例网址:https://rally1.rallydev.com/#/4745909548/detail/userstory/6138899084/changesets我的匹配规则:/^https://.*\.rallydev\.com/.*/changesets$/我不知道是不是哈希引起的问题,但是当我重新加载时一切正常。不知

javascript - 某些 Greasemonkey 脚本顶部的这一行是什么?

背景:我对C++有一个自学成才的爱好者水平的理解,这已经转化为对javascript的类似理解。为了更好地理解javascript,我决定编写一个Greasemonkey脚本来解决Google如何处理multipleresultsfromthesamedomain的问题。.我编写了脚本,而且非常简单。现在我觉得这个脚本可能对其他人有用,所以我想发布它。不过,在我这样做之前,我想确定我不会发布不负责任的代码。我知道糟糕的垃圾回收经常被认为是扩展的问题,并且研究了我需要在javascript中做些什么来防止这种情况发生。答案似乎是函数退出时将回收包装在函数中的任何内存。这似乎解释了为什么我