diff options
Diffstat (limited to 'firefox/lib/main.js')
| -rw-r--r-- | firefox/lib/main.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/firefox/lib/main.js b/firefox/lib/main.js new file mode 100644 index 0000000..cd47a05 --- /dev/null +++ b/firefox/lib/main.js @@ -0,0 +1,33 @@ +var {Cc, Ci, Cr} = require('chrome'); +var data = require("sdk/self").data; +var pageMod = require("sdk/page-mod"); + +pageMod.PageMod({ + include: "*.haaretz.co.il", + contentStyleFile: data.url('free_haaretz.css') +}); + + +var observer = { + observe: function(subject, topic, data) { + if (topic == 'http-on-modify-request') { + var channel = subject.QueryInterface(Ci.nsIHttpChannel); + if (/haaretz\.co(m|\.il)/.test(channel.originalURI.host)) { + channel.setRequestHeader('User-Agent', 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)', false); + channel.originalURI.path = channel.originalURI.path.split('?')[0]; + } + if (/\/htz\/js\/bots\.js/.test(channel.originalURI.path)) { + subject.cancel(Cr.NS_BINDING_ABORTED); + } + if (/\/htz\/js\/resp\/header_scripts\/internal\/util\/z_adblockutil\.js/.test(channel.originalURI.path)) { + subject.cancel(Cr.NS_BINDING_ABORTED); + } + if (/\/htz\/js\/resp\/body_scripts\/internal\/plugins\/adblock\.js/.test(channel.originalURI.path)) { + subject.cancel(Cr.NS_BINDING_ABORTED); + } + } + } +}; + +var observerService = Cc['@mozilla.org/observer-service;1'].getService(Ci.nsIObserverService); +observerService.addObserver(observer, 'http-on-modify-request', false); |
