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.