Bonjour a vous tous

J'ai un add-on pour firefox dont la fonction est de bloquer une liste d'urls, malheureusement, ma liste d'urls se trouve a l'interieur de mon fichier bootstrap.js:

voici le script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
Cu.import('resource://gre/modules/Services.jsm');
 
var urls_block = [ //if urls contain any of these elements they will be blocked or redirected, your choice based on code in observer line 17
'URL1',
'URL2',
'URL3',
'etc...'];
 
var observers = {
    'http-on-modify-request': {
        observe: function (aSubject, aTopic, aData) {
            console.info('http-on-modify-request: aSubject = ' + aSubject + ' | aTopic = ' + aTopic + ' | aData = ' + aData);
            var httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
            var requestUrl = httpChannel.URI.spec;
            for (var i=0; i<urls_block.length; i++) {
             if (requestUrl.indexOf(urls_block[i]) > -1) {
              //httpChannel.cancel(Cr.NS_BINDING_ABORTED); //this aborts the load
              httpChannel.redirectTo(Services.io.newURI('data:text,CONTENT BLOCKED"', null, null)); //can redirect with this line, if dont want to redirect and just block, then uncomment this line and comment out line above (line 17)
              break;
}
            }
        },
        reg: function () {
            Services.obs.addObserver(observers['http-on-modify-request'], 'http-on-modify-request', false);
        },
        unreg: function () {
            Services.obs.removeObserver(observers['http-on-modify-request'], 'http-on-modify-request');
        }
    }
};
 
function install() {}
 
function uninstall() {}
 
function startup() {
 for (var o in observers) {
 	observers[o].reg();
 }
}
 
function shutdown(aData, aReason) {
 if (aReason == APP_SHUTDOWN) return;
 
 for (var o in observers) {
 	observers[o].unreg();
 }
}
le script fonctionne nickel, mais développeurs de Firefox me demandent de faire en sorte que la liste soit externe au bootstrap.js et q'elle soit loadee quand c'est necessaire.

merci a tous