Есть ли способ отключить все другие скрипты Java, кроме моего с помощью Grease Monkey
Мне нужна помощь, чтобы получить Grease Monkey с JQuery Script для запуска на сломанном сайте.
Я пытаюсь запустить следующий скрипт 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 (надеюсь, оно не столкнется с той же проблемой).
Я буду следовать примеру, который я видел в другом посте здесь, на ОС:Как использовать jQuery в расширении Firefox
Я смог заставить его работать, но с небольшой модификацией из показанного примера:
(Как в стороне, я использовалМастер расширения 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);