IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Add-on chrome Javascript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 96
    Points : 36
    Points
    36
    Par défaut Add-on chrome Javascript
    Bonjour a tous, mon add-on bloque des sites contenant du x, scams etc
    Il fonctionne nickel, voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var AUTHORIZED_DOMAINS= {
    "siteporno.com": false,
    "www.siteporno.com": false
    };
    function extract_domain(url)    {
        var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
        return matches[1];
    }
     
    chrome.webRequest.onBeforeRequest.addListener(function(details) { 
    var domain = extract_domain(details.url);
    return { cancel: AUTHORIZED_DOMAINS[domain ]===false }; 
    }, {urls: ["<all_urls>"]},["blocking"]);

    MAIS par contre petit problème il ne bloque pas ce genre de url:

    twitter.com/siteporno

    Comment faire que ca bloque ce type D’URL également?? est ce que le problemme vient du https:// ?

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Javascript sait déjà décortiquer une url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function extract_domain(url)    {
        var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
        return matches[1];
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function extract_domain(url)    {
        var a = document.createElement('a');
        a.setAttribute('href', url);
        return a.hostname;
    }
    pour ton problème tu extrais le domaine et tu regarde si le domaine n'est pas interdit
    tu ne teste pas le reste de l'url
    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
    var AUTHORIZED_DOMAINS= {
    "siteporno.com": false,
    "www.siteporno.com": false
    };
    var PATH_FILTERS =  new RegExp('*siteporno*');
     
    function extract(url)    {
        var a = document.createElement('a');
        a.setAttribute('href', url);
        return a;
    } 
    chrome.webRequest.onBeforeRequest.addListener(function(details) { 
      var url = extract(details.url);
      // on bloque si le domaine n'est pas autorisé ou si le path contient un mot interdit.
      return { cancel:((AUTHORIZED_DOMAINS[url.hostname]===false)||(url.pathname.match(PATH_FILTERS))) }; 
    }, 
    {urls: ["<all_urls>"]},
    ["blocking"]);
    A+JYT

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 96
    Points : 36
    Points
    36
    Par défaut
    Hey un tout GRAND MERCI sekaijin je vais directement tester ca

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 96
    Points : 36
    Points
    36
    Par défaut
    C'est bizare quand je change mon fichier "background.js" qui contient maintenant ton code, il ne bloque plus ma liste d'urls ( plusieurs milliers )
    de plus si je veux bloquer par exemple l'url: twitter.com/NudesNetwork le lien n'est pas bloqué :s

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 96
    Points : 36
    Points
    36
    Par défaut
    dans mon manifest.json j'ai ceci, peut etre que le problemme vient de la, dans les permissions???

    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
     
    {
    "name":"Blocker",
    "description":"blocker",
    "version":"1.5",
    "manifest_version":2,
    "permissions": [
            "http://*/*",
            "https://*/*",
            "webRequest",
            "webRequestBlocking",
           "<all_urls>" ,    
            "unlimitedStorage"
    ]      
    ,"icons":{"48":"icon.png"},
    "background":{
        "scripts": ["background.js"]
    },
    "browser_action":{
        "default_popup":"popup.html",
        "default_icon":"icon.png"},
    	"content_scripts": [
    		{
    			"matches": ["<all_urls>"],
    			"js": ["disablef12.js"]
    		}
    	]
    }

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 96
    Points : 36
    Points
    36
    Par défaut
    Je viens de retester mon add-on, ces 3 liens :

    - lien indésirable 1
    - lien indésirable 2
    - lien indésirable 3

    sont sont bel et bien bloqués par mon addon


    SI je teste avec ce lien:

    twitter.com Lui est bloqué sans problemme

    MAIS si je rajoute le lien:

    lien indésirable twitter

    LA mon add-on ne bloque PLUS du tout ce lien...

    https://twitter.com/ est ce que c'est du au https??? je ne vois que ca :s

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 96
    Points : 36
    Points
    36
    Par défaut
    est ce qu'on peut m'aider a solutionner ce problème,

    merci

Discussions similaires

  1. Chrome javascript innerHTML lenteurs
    Par aeled dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 11/02/2011, 19h09
  2. Erreur JavaScript sous Chrome, Safari et IE8
    Par hsii04 dans le forum IGN API Géoportail
    Réponses: 16
    Dernier message: 04/07/2010, 12h26
  3. Code javascript compatible FF mais incompatible IE & Chrome?
    Par Sebi57 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 19/06/2010, 19h50
  4. Erreur Javascript Chrome ?
    Par Nemesis007 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/12/2009, 12h33
  5. Comment piloter un Add-On FireFox, à l'aide de javascript
    Par BozKiller dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/10/2007, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo