Tag: greasemonkey

从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之间的交互,但我真的很想知道如何让它们一起工作。 // ==UserScript== // @name Dialog Test // @namespace http://strd6.com // @description jquery-ui-1.6rc6 Dialog Test // @include * // // @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js // @require http://strd6.com/stuff/jqui/jquery-ui-personalized-1.6rc6.min.js // ==/UserScript== $(document).ready(function() { $(‘SomeText’).dialog(); }); 错误:[例外…“组件不可用”nsresult:“0x80040111(NS_ERROR_NOT_AVAILABLE)”位置:“JS frame :: file:///home/daniel/.mozilla/firefox/…/components/greasemonkey。 js :: anonymous :: line 347“data:no] [中断此错误] if(line){ Firefox版本:Mozilla / 5.0(X11; U; Linux i686; en-US; rv:1.9.0.6)Gecko […]

如何在Greasemonkey脚本中包含远程javascript文件?

我正在尝试编写一个Greasemonkey脚本,并希望使用jQuery库来实现,但我不太确定如何从Web地址中包含jQuery来实现。 如何将jQuery(来自Google的Web服务器)包含在greasemonkey脚本中,以便我可以: $(document).ready(function(){ // Greasemonkey stuff here }); 我更愿意从这个来源获得它: 更新:感谢您的帮助,答案非常丰富。 不过,我确实更多地利用了我的GoogleFu并遇到了这个解决方案 : http ://joanpiedra.com/jquery/greasemonkey/ 像魅力一样工作..只需更新谷歌的托管版jQuery即可完成。

使用自定义HTML而不是URL打开新选项卡

我正在创建一个Greasemonkey脚本,并且想要打开一个新的选项卡,该选项卡不会显示URL,而是一些HTML,它们是脚本的一部分。 所以基本上我想做这样的事情(这显然不起作用): window.open(”); or GM_openInTab(”); 任何提示都是受欢迎的!

有没有办法禁用除Grease Monkey以外的所有其他Java脚本

我需要帮助使用JQuery Script获取Grease Monkey以在破损的站点上运行。 我正在尝试运行以下GM脚本,但我希望它运行的页面有一个JS错误,我的JS没有被执行。 // ==UserScript== // @name BILL INFO PAGE ALTER // @namespace http://jenkinslaw.org // @description Alter the web page in order to pretty print // @include http://www.legis.state.pa.us/cfdocs/billinfo/bill_history.cfm?* // @require http://code.jquery.com/jquery-1.4.2.min.js // ==/UserScript== */ (function() { //Make a copy of the bill table var bill_table = $(‘.main_table’).clone(); //empty the whole lot $(body).empty(); //append the […]

为GM创建JQueryscript – 通过重写JS代码来解决问题

没有并且在帮助下试图解决问题后我仍然卡住了。 我的目标是用JS编写GM脚本。 有人告诉我使用jQuery因为它简单。 好吧,我上周开始学习JS,脑子里充满了信息。 我需要的是提示/开始/开始/告诉我如何将脚本重写为精细的jQuery脚本。 好吧,我读了一些手册,但不知怎的,我只是想不出来。 可能是我误解了jQuery的语法,这对于unserstand来说并不难。 至少我重温了手册…… 这是脚本应该如何工作:1。我创建了3个函数。 一个用于检查输入字段是否包含数字并且仅允许数字,逗号,点和一些控件。 第二个替换字符和警告,如果…… 是非常错误的。 第三个是总结四个字段并将结果放在第五个字段中。 2.我为每个领域创建了两个函数。 一个function隐藏文本,一个function通过单击“a”显示文本。 3.至少我创建了一个包含所有输入字段和应包含的文本的表。 4.通过单击一个特殊按钮,会出现一个注释(我仍然要写那个……) 对我来说,将所有信息放在一起并写出一个好的和好看的(我知道它还不是)脚本对我来说是一个大问题。 我真的希望你能帮助我。 我只需要一个开始…… 以下是我写的代码。 由于使用了document.write函数,因为沙盒等,它在GM中不起作用:-( 检查输入字段是否包含数字,仅允许数字,逗号,点和一些控件 function check(event) { var keycode; if (window.event) { keycode = window.event.keycode; } else if (event) { keycode = event.which; } else { return true; } if (47 < keycode) { if (keycode […]

使用Greasemonkey向页面添加可拖动窗口

我正在尝试创建一个Greasemonkey脚本,为每个网页添加一个可拖动的div。 出于某种原因,div根本没有显示。 可能是什么原因? // ==UserScript== // @name Draggable box demo // @namespace http://use.iEyour.homepage/ // @version 0.1 // @description enter something useful // @match *://www.* // @copyright 2012+, You // @require http://code.jquery.com/jquery-latest.js http://code.jquery.com/ui/1.9.2/jquery-ui.js // ==/UserScript== //alert(“Hi!”); $(document).ready(function() { $(document).append(“Drag here!”); $(‘#dragZone’).css(‘position’, ‘absolute’); var a = 3; $(‘.draggable’).draggable({ start: function(event, ui) { $(this).css(“z-index”, a++); } }); $(‘#dragZone […]

关闭`@grant none`会破坏我的Greasemonkey脚本?

我在Facebook主页上运行此脚本。 它会在底部的Dock中获取所有对话并获取它们的__FB_TOKEN 。 // ==UserScript== // @name MyScript // @namespace MyNameSpance // @include /https?://(www.)?facebook.com(/.*)?/ // @require http://code.jquery.com/jquery-2.1.0.min.js // @version 0.0.0 // @grant none // ==/UserScript== (function () { // Don’t run on frames or iframes if (window.top != window.self) { return ; } window.addEventListener(‘load’, function () { var element = $(‘.fbNubGroup.clearfix.videoCallEnabled’); console.log(‘SCRIPT ELEMENT: ‘, element); […]

Greasemonkey(使用waitForKeyElements实用程序) – 如何在屏幕上显示特定元素后调用函数

(继续我的这个问题 )。 我一直在为这个网站metal-archives.com写这个用户脚本。 打开乐队页面( 示例 )时,您将登陆“DISCOGRAPHY”>“完整的人口统计学”。 我的脚本适用于DISCOGRAPHY选项卡 它的子标签(完整的DISCOGRAPHY,MAIN,LIVES,DEMOS,MISC): 它将“评论”列分成两部分,使表格可以排序。 我最初想要(在我的脚本中使用waitForKeyElements中的waitForKeyElements实用程序) 一个函数(根据它的内容向表中添加一列, appendColumn(x) ) 在DISCOGRAPHY> COMPLETE DISCOGRAPHY中的表格完全显示之后被调用(我认为这是: 在显示表格的最后一个标题之后) 。 该表的最后一个标题(MISC。)的id值已存储在此数组位置: myArray[end] 所以,到目前为止,我失败的尝试(根据用户Brock Adams在我的初始问题中提出的答案 )是以下变体: function appendColumn(x){….} function triggerCall(jNode) { appendColumn(0); or –> jNode.appendColumn(0); } waitForKeyElements (myArray[end], triggerCall); // no parentheses after triggerCall

一个元素存在时立即触发事件的脚本?

我正在尝试编写一个Greasemonkey脚本来实现Facebook中的一些任务,比如隐藏新闻等。 问题是:我有一个ID到DOM中尚未存在的元素。 它是点击post的箭头图标时出现的小盒子。 如何通过jQuery创建一个事件处理程序,一旦元素存在就会触发它?

为什么jQuery在我的GreaseMonkey脚本中加载两次

由于某种原因,我的Firefox4 + GreaseMonkey脚本加载了两次jQuery。 我复制’n’pasted以下片段,“测试”警报显示两次。 问候 var $; // Add jQuery (function(){ if (typeof unsafeWindow.jQuery == ‘undefined’) { var GM_Head = document.getElementsByTagName(‘head’)[0] || document.documentElement, GM_JQ = document.createElement(‘script’); GM_JQ.src = ‘http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js’; GM_JQ.type = ‘text/javascript’; GM_JQ.async = true; GM_Head.insertBefore(GM_JQ, GM_Head.firstChild); } GM_wait(); })(); // Check if jQuery’s loaded function GM_wait() { if (typeof unsafeWindow.jQuery == ‘undefined’) { window.setTimeout(GM_wait, […]