summaryrefslogtreecommitdiff
path: root/firefox/lib/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'firefox/lib/main.js')
-rw-r--r--firefox/lib/main.js33
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);