Tag: greasemonkey

如何让jQuery ajax调用从greasemonkey页面事件中工作

我有一个GM脚本,它在页面上插入一个链接,然后在点击它时添加一个事件监听器。 然后,它运行一个函数,其中包含一些jQuery.get调用。 然而,除非我使用jQuery的unsafeWindow版本,否则这些调用似乎不会触发。 function runMyFunc() { console.log(‘myFunc is called’); $.get(‘index.php’,function () { console.log(‘jQuery.get worked’); }); } $(“#someHook”).before(‘Link’); $(‘#myLink’).click(runMyFunc); 以上将输出’myFunc被调用’到控制台,但不会对.get做任何事情 我正在使用来自http://code.jquery.com/jquery.js的 FF17和GM1.5,jquery 有没有比使用unsafeWindow更好的工作方式? 我在GM 1.0之前有这个工作并且有很多$ .get我需要在脚本中更改,而不是所有这些都是从同一场景运行的

Greasemonkey脚本替换jQuery插件函数?

我正在尝试为Firefox编写一个Greasemonkey脚本,以便在检测到一个没有焦点的窗口时更改某些页面的行为。 我希望页面继续运行,就像它仍然处于焦点一样,即使我有另一个选项卡或窗口处于活动状态。 我开始查看CAPS安全策略 ,它似乎适用于内联Javascript( window.onfocus , window.onblur ),但对外部jQuery脚本插件访问焦点事件没有影响。 这是我的测试页面,它使用jQuery插件来检测焦点。 插件在这里是内联的,但在某些情况下也可能是外部脚本。 jQuery focus test (function($) { $.fn.focuscheck = function() { function focusOn () { document.getElementById(‘console’).innerHTML += ‘Focus event handler fired.’; }; function focusOff () { document.getElementById(‘console’).innerHTML += ‘Blur event handler fired.’; }; $(window).bind(‘focus’, focusOn); $(window).bind(‘blur’, focusOff); }; })(jQuery); $(‘#func’).focuscheck(); 还有我的Greasemonkey脚本。 我正在尝试从joanpiedra.com调整jQuery Greasemonkey代码。 在这种情况下,我试图从我的测试页面中完全替换focuscheck jQuery插件function代码。 所有行都与原始行相同,但function focusOff()除外,它应显示不同的结果。 […]

在JS / JQuery中通过DOM获取BR分隔文本?

我正在编写一个使用以下通用结构解析页面的greasemonkey脚本: (Account Name) (#IDNumber) (Rank) (Title) Statistics: blah blah etc. 我特意试图从中获取(标题)部分。 然而,正如您所看到的,它仅由标签引发,没有自己的ID,只是标签文本的一部分,并且该标签有大量其他文本与之关联它。 现在我正在做的是获取Center标签的innerHTML并使用正则表达式来匹配/([A-Za-z ]*) Statistics/ 。 这对我来说没问题,但感觉就好像有一个更好的方式从那里挑选那个特定的文本。 ……那么,还有更好的方法吗? 或者我应该向网站程序员抱怨他需要使该文本更容易访问? 🙂

Greasemonkey + jQuery:在事件回调中使用GM_setValue()

我试图在GreaseMonkey脚本中设置长期存储数据,但GM_setValue()似乎无声地失败: $(“a#linkid”).click(function() { GM_setValue(“foo”, 123); // doesn’t work, but does not generate error }); GM_setValue(“bar”, 123); // works properly, value is set

如何增强不应修改源代码的页面的function?

我的一位朋友使用网络应用程序进行工作相关的目的。 该应用程序是使用PHP / MySQL构建的,虽然它有一些JavaScript可以让它更容易使用,但它不够用户友好,并且有一些额外的JS,很多东西都可以实现自动化。 我想增强该应用程序,但我不想修改原始服务器端代码。 要做到这一点,我能想到的只有Greasemonkey。 这是唯一的方法吗,还是我错过了什么? 我也希望能够使用像jQuery这样的现代JS框架。 编辑:我应该告诉你我想做什么改进。 页面上有很多字段,因此自动完成function确实会有很大帮助。 这将用于输入数据,因此AJAX也可用于某些错误检查。

如何在greasemonkey中取消绑定jquery事件处理程序?

$(“p”).click(function(){alert(‘clicked’)}); $(“p”).unbind(‘click’); 在greasemonkey中,click事件不会解除绑定。 我相信这是由于greasemonkey的安全模型从XPCNativeWrapper的第一行包装相关的事件对象引起的,导致第二行无法“找到”它。 但是,我似乎无法找到解决方法。 有什么建议? 更新:像下面这样的东西在greasemonkey中起作用。 所以我仍然认为这是一个XPCNativeWrapper问题,我无法找到解决方法。 $(“p”).click(function(){alert(‘clicked’); $(this).unbind(‘click’)});

在Eval中设置变量(JavaScript)

我正在写一个GreaseMonkey脚本(使用JQuery),我需要一些由原始页面中的脚本设置的变量,如下所示: var rData = {“20982211″:[1,0,1],”20981187”:[8,0,4]}; 我从另一个页面获取此元素并尝试评估它,奇怪的是这不起作用: $.get(link_url, null, function(data) { alert(“1:” + rData); eval($(data).find(“script”).text()); alert(“2:” + rData); } 奇怪的是它在firebug控制台上工作(我只是直接在没有.get的目标页面上尝试了eval),当我运行脚本时虽然没有。 它在两个警报中都给我“null”。 有任何想法吗?

Greasemonkey和jQuery 1.4.2无法正常工作

我试图使用Greasemonkey和jQuery 1.4.2。 当我安装Greasemonkey脚本时,jQuery肯定会被下载并出现在脚本目录中。 但是,下面的代码不会向PAPAGETITLE类的元素追加任何内容。 我究竟做错了什么? // ==UserScript== // @name PS Timesheet // @namespace http://www.steelebit.com/gmscripts // @description Used to fix a terrible implementation // @include https://intranet.site.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js // ==/UserScript== // Append some text to the element with id #someText using the jQuery library. $(“.PAPAGETITLE”).append(” more text.”);

有一个脚本模拟一个控件,按键序列?

我已经搜索并发现我可以使用jQuery模拟一个按键事件,但是我对jQuery的了解很少,而且我没有得到具体的结果。 所以我有一个Greasemonkey脚本,它在2个标签中管理2个不同的网页。 我想模拟/自动执行Ctrl Shift Tab以自动返回上一个选项卡,这样我就可以在Firefox中更改选项卡。 问题是它不仅是普通的按键,我还需要模拟一个Ctrl和Shift部分。 我已将此添加到我的脚本中: // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 并试过: function testEvents(){ var press = jQuery.Event(“keypress”); press.which = 9; $(“whatever”).trigger(press.ctrlKey + press.shiftKey + press.which); } 没有成功。 我见过的一些链接: 是否可以通过编程方式模拟按键事件? , 模拟jquery和http://forum.jquery.com/topic/simulating-keypress-events

如何在Firefox 30上调试Greasemonkey脚本?

我一直在为Youtube开发一个JavaScript代码片段,它使用Greasemonkey,还可以导入Bootstrap和jQuery库。 此应用程序必须为每个搜索列表结果添加一个按钮,当用户单击它时,它必须从用户的频道中带来用户上传的video。 我已经测试了按钮,它在Firefox 29上运行良好。 尽管如此,最近我将Firefox更新到版本30,现在我无法查看/调试我编写的代码,尽管Firefox执行它。 我想知道,这个问题是否有任何解决方案? 如果您希望看到以下代码: // ==UserScript== // @name Requerimiento2-2-Guille.user.js // @description Rodrigo // @include http://www.youtube.com/* // @include https://www.youtube.com/* // @grant none // ==/UserScript== /* Here it’s the Bootstrap and jQuery code pasted (I know it should be done with an include).*/ var boton=”+’Ver videos del usuario’+ ”; $(function(){ iniciarScript(); }); function iniciarScript(){ […]