143 votes

Google Chrome ajoute automatiquement des sites Web à ma liste de moteurs de recherche ?

J'ai remarqué que certains sites web (par exemple les sites Stack Exchange, Dell, etc.) sont automatiquement ajoutés à ma liste de moteurs de recherche dans Google Chrome.

Ils ajoutent même un raccourci clavier à leur entrée. Voici quelques exemples :

  • Dell : Clavier -> Dell.com
  • Stack Exchange Web masters : Clavier -> webmasters.stackexchange.com
  • Reuters : Clavier -> reuters.com

Q1 : Est-ce le comportement par défaut dans Chrome ? (laisser les sites Web s'ajouter à la liste des moteurs de recherche ?)

Q2 : Est-il possible de désactiver ce comportement dans Chrome ?

Note : J'utilise la dernière version de Chrome : 11.0.696.57 sur Windows 7 64, et je n'ai qu'une seule extension installée : Google URL shortener.

68voto

IfLoop Points 59461

Cela me rendait complètement fou, alors j'ai trouvé une solution pirate, mais efficace, à ce problème.

Chrome stocke ses moteurs de recherche dans une simple base de données sqlite3. J'ai découvert qu'il est possible de créer un déclencheur lorsque Chrome ajoute le moteur de recherche, ce qui permet d'ignorer l'instruction d'insertion de la base de données.
Notez que les moteurs de recherche sont toujours conservés en mémoire, donc ils apparaîtront toujours dans la liste jusqu'à ce que le navigateur soit redémarré. . Cependant, vous n'aurez pas à les effacer en permanence, et si vous souhaitez ajouter vos propres moteurs de recherche, vous n'aurez pas à craindre de les supprimer accidentellement (oui, l'ajout manuel de moteurs de recherche fonctionne toujours).

Vous devez d'abord localiser le Web data fichier.

  • Mac OS X : ~/Library/Application Support/Google/Chrome/Default/Web Data

  • XP : C:\Documents and Settings\<username>\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data

  • Vista/7 : C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Web Data

  • Linux : ~/.config/google-chrome/Default/Web Data o ~/.config/chromium/Default/Web Data

Ensuite, ouvrez-le avec un éditeur sqlite3.

Chrome doit être fermé à ce stade.

Le site officiel de sqlite propose une page de téléchargement avec un utilitaire de ligne de commande précompilé pour les différents systèmes d'exploitation. Cependant, tout éditeur capable de travailler avec des bases de données sqlite3 fonctionnera.

Pour l'utilitaire de ligne de commande, utilisez une commande telle que la suivante (n'oubliez pas d'échapper ou de citer l'espace dans le nom du fichier) :

sqlite3 /path/to/Web\ Data

Ajoutez le déclencheur.

CREATE TRIGGER no_auto_keywords BEFORE INSERT ON keywords WHEN (NEW.originating_url IS NOT NULL AND NEW.originating_url != '') BEGIN SELECT RAISE(IGNORE) ; END ;

Vous avez terminé. Fermez l'éditeur et redémarrez Chrome.


La façon dont cela fonctionne est que lorsque chrome va ajouter automatiquement un moteur de recherche à l keywords le chrome fixe la originating_url au site web d'où il provient. Le déclencheur recherche essentiellement les insertions avec un champ non vide. originating_url et émet un RAISE(IGNORE) ce qui fait que l'instruction est ignorée en silence.
Les moteurs de recherche ajoutés manuellement ne disposent pas d'une originating_url et le déclencheur permet donc de les ajouter.

46voto

Greg Sadetsky Points 694

Grâce au code de @10basetom et inspiré par @shthed, j'ai mis en place le module N'ajoutez pas de moteurs de recherche personnalisés Une extension Chrome qui fait exactement cela.

Vous trouverez le code source aquí .

Faites-moi savoir ce que vous en pensez !

38voto

thdoan Points 729

Il y a deux façons de procéder :

  1. Ajoutez ce script utilisateur à Tamper Monkey :

    var elOpenSearch = document.querySelector('[type="application/opensearchdescription+xml"]');
    if (elOpenSearch) elOpenSearch.remove();
  2. Si vous n'êtes pas un utilisateur régulier de Tamper Monkey et que vous n'avez pas envie de gaspiller 15 à 20 Mo de RAM juste pour charger l'extension Tamper Monkey à cette fin, vous pouvez créer votre propre extension super légère qui ne consommera pas de mémoire. Les instructions sont fournies ci-dessous.

Comment créer votre propre extension pour supprimer l'OpenSearch <link> et empêcher Chrome d'ajouter automatiquement des moteurs de recherche :

  1. Créez un dossier dans lequel vous allez placer les fichiers d'extension.

  2. Dans ce dossier, créez deux fichiers texte nommés manifest.json y content.js contenant le code fourni ci-dessous.

    manifeste.json

    {
      "manifest_version": 2,
      "name": "Disable OpenSearch",
      "version": "1.0.0",
      "description": "Remove the OpenSearch <link> tag to prevent Google Chrome from auto-adding custom search engines.",
      "content_scripts": [
        {
          "matches": ["<all_urls>"],
          "js": ["content.js"]
        }
      ],
      "permissions": [
        "http://*/*",
        "https://*/*"
      ]
    }

    content.js

    var elOpenSearch = document.querySelector('[type="application/opensearchdescription+xml"]');
    if (elOpenSearch) elOpenSearch.remove();
  3. Dans Chrome, allez à chrome://extensions/ (entrez-la dans la barre URL).

  4. Activez le mode développeur.

  5. Cliquez sur "Load unpacked extension", sélectionnez le dossier que vous avez créé à l'étape 1, puis cliquez sur "OK".

Félicitations ! Maintenant, Google Chrome devrait être un peu moins pénible à utiliser :-).

Limitation : Cette solution n'est pas fiable à 100%. Si vous vous rendez sur une URL qui contient un paramètre de recherche (par ex, https://cdnjs.com/#q=fastclick ), alors dans de rares cas, un moteur de recherche personnalisé sera encore ajouté. Je soupçonne que cela est dû au fait que Chrome peut analyser le fichier OpenSearch <link> avant que l'utilisateur ou l'extension n'ait la possibilité de la supprimer du DOM.

27voto

Sathyajith Bhat Points 60630
  1. Oui, c'est à dessein .
  2. Non il y a pas de moyen de désactiver ceci.

11voto

alcohol Points 219

Edit : cela ne fonctionne plus dans Chrome version 84 et suivantes

Pour supprimer rapidement un grand nombre de moteurs de recherche, allez à chrome://settings/searchEngines, appuyez sur Ctrl-Shift-J (Opt-Cmd-J sur OSX) pour entrer dans la console Javascript, et collez ceci :

settings
    .SearchEnginesBrowserProxyImpl
    .prototype
    .getSearchEnginesList()
    .then(function (val) {
        val.others.sort(function (a, b) { return b.modelIndex - a.modelIndex; });
        val.others.forEach(function (engine) {
            settings
                .SearchEnginesBrowserProxyImpl
                .prototype
                .removeSearchEngine(engine.modelIndex);
        });
    });

Vous devrez peut-être coller et exécuter cette opération plusieurs fois pour tout effacer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X