6

Ich entwickle eine Chrome-Erweiterung und meine Anforderung besteht darin, die Standardsuchmaschine des Chrome-Webbrowsers zu erkennen.So erkennen Sie die Chrome-Standardsuchmaschine

Ich habe viel über das Web gesucht, aber keine API bekommen, um so zu erkennen.

Ich habe auch gesucht Web mit Javascript/Jquery, aber bisher nicht Glück.

Bitte schlagen Sie mir eine Möglichkeit vor, so dass ich die Standardsuchmaschine für Chrome-Browser erkennen kann.

Antwort

1

Der einzige Weg, an den ich denken kann, ist query the HTML5 external interface.

Obwohl dies nicht die Standardsuchmaschine des Benutzers gibt, können Sie Suchmaschinen-URLs abfragen und sehen, ob er ein verwendet, Sie kennen die URL von.

installed = window.external.IsSearchProviderInstalled(url) 

Gibt einen Wert basierend auf URL auf die URLs der Ergebnisse Seiten der installierten Suchmaschinen zu vergleichen.

0: Keine der installierten Suchmaschinen stimmt mit der URL überein.

1: Eine oder mehrere installierte Suchmaschinen entsprechen der URL, aber keine ist die Standardsuchmaschine des Benutzers.

2: Die Standardsuchmaschine des Benutzers stimmt mit URL überein.

Aber beachten Sie die folgenden Möglichkeiten:

Die URL ist im Vergleich zu dem URLs der Ergebnisse Seiten des installierten Suchmaschinen einen Präfix Spiel verwenden. Nur Ergebnisseiten in derselben Domäne wie das Skript, das diese Methode aufruft, werden überprüft.

Das bedeutet, dass Sie nur überprüfen können, ob sich der Browser auf der Website befindet, die Sie abfragen.

Also, wenn Sie zu https://www.google.com surfen und die folgenden in der Konsole ausführen:

external.IsSearchProviderInstalled("https://www.google.com") 

2 wird zurückgegeben, wenn Sie das gleiche in der Konsole auf eine andere URL als die laufen Sie abfragen, Sie wird einen Fehler bekommen.

+0

Sehr interessant, aber für den angegebenen Zweck fast nutzlos. – Xan

+0

Nicht nutzlos, da die Erweiterung es auf jeder Site ausführen konnte. –

Verwandte Themen