L'unico modo che posso pensare è query the HTML5 external interface.
Sebbene questo non fornisca il motore di ricerca predefinito degli utenti, è possibile interrogare gli URL del motore di ricerca e vedere se ne sta utilizzando uno che conosce l'URL di.
installed = window.external.IsSearchProviderInstalled(url)
Restituisce un valore basato sul confronto URL per gli URL delle pagine dei risultati dei motori di ricerca installati.
0: nessuno dei motori di ricerca installati corrisponde all'URL.
1: uno o più motori di ricerca installati corrispondono all'URL, ma nessuno è il motore di ricerca predefinito dell'utente.
2: il motore di ricerca predefinito dell'utente corrisponde all'URL.
Ma essere consapevoli di quanto segue:
L'url viene confrontato con gli URL delle pagine dei risultati dei motori di ricerca installati utilizzando una corrispondenza del prefisso. Vengono verificate solo le pagine dei risultati nello stesso dominio dello script che chiama questo metodo.
Ciò significa che è possibile controllare solo se il browser si trova sul sito che si sta interrogando.
Quindi, se si naviga a https://www.google.com ed eseguire il seguente nella console:
external.IsSearchProviderInstalled("https://www.google.com")
2 saranno restituiti, se si esegue lo stesso nella console su un altro URL da quello che si sta eseguendo la query, è otterrà un errore.
Molto interessante, ma quasi inutile per lo scopo dichiarato. – Xan
Non inutile poiché l'estensione potrebbe eseguirlo su ciascun sito. –