有没有办法禁用除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版本,例如此处建议的版本。
由于您已选择采用扩展路径,这与您无关,但我仍然会将此发布给具有类似问题的其他人,这些问题将来可能偶然发现。
- 仅使用jQuery的Firefox错误 – handleObj.handler.apply不是一个函数
- 在Firefox中使用jquery失败的AJAX https POST请求
- Firefox – 收集LAB.min.js使用的数据
- 为什么表格单元格的Javascript宽度一个像素太短?
- 当按下ESC时,当我在keyDown事件处理程序中使用它时,location.reload不会重新加载页面。 只在FF
- jQuery单击复选框不会检查Firefox
- 在Chrome和Firefox上捕捉Backspace是不同的
- 为什么Firefox中的document.body == null而不是Safari
- jQuery click事件在firefox中被激活了两次但在IE中没有