有没有办法禁用除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 bill back to the dom. $(body).append(bill_table); }()); 

谢谢!

d

进展:

我同意@mkoryak这是一个与GM无法解决的问题。 所以我放弃它并使用Firefox扩展(希望它不会遇到同样的问题)。

我将按照我在OS上的另一篇文章中看到的示例: 如何在Firefox扩展中使用jQuery

我能够让它工作但是从显示的示例稍作修改:

(顺便说一句,我使用Firefox扩展向导轻松快速地获得扩展设置的基本框架)。

 jQuery.noConflict(); (function($){ billinfo = new function(){}; billinfo.log = function(){ Firebug.Console.logFormatted(arguments,null,"log"); }; billinfo.run = function(doc,aEvent) { // Check for website if(!doc.location.href.match(/^http:\/\/(.*\.)?legis\.state\.pa\.us\/cfdocs\/billinfo\/bill_history\.cfm\?(.*)?$/i)) return; // Check if already loaded if(doc.getElementById("plugin-billinfo")) return; // Setup this.win = aEvent.target.defaultView.wrappedJSObject; this.doc = doc; //Make a copy of the bill table bill_table = $('.main_table', doc).clone(); //empty the whole lot $('body', doc).empty(); //append the bill back to the dom. $('body', doc).append(bill_table); }; // Bind Plugin var delay = function(aEvent){ var doc = aEvent.originalTarget; setTimeout(function(){ billinfo.run(doc,aEvent); },1); }; var load = function(){ gBrowser.addEventListener("DOMContentLoaded", delay, true); }; window.addEventListener("pageshow", load, false) })(jQuery); 

你不能这样做。

如果存在javascript错误,则您的代码(最后执行)将永远不会执行。

为了解决这个问题,我已经远远地看了一眼,但却找不到它。

由于eventSupported函数中的错误,GM和jQuery 1.4。*目前无法共存。
因此,您可以直接在脚本中使用1.3。* jQuery或包含修改后的1.4.2版本,例如此处建议的版本。
由于您已选择采用扩展路径,这与您无关,但我仍然会将此发布给具有类似问题的其他人,这些问题将来可能偶然发现。