Opracowuję rozszerzenie do Chrome i zastanawiam się, czy istnieje sposób, dzięki któremu mogę wykryć, której wersji Chrome używa użytkownik?Jak wykryć zainstalowaną wersję Chrome?
33
A
Odpowiedz
80
Get główną wersję Chrome jako liczba całkowita:
function getChromeVersion() {
var raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
return raw ? parseInt(raw[2], 10) : false;
}
zaktualizowałem oryginalną odpowiedź, tak aby nie rzucać wyjątek w innych przeglądarkach, a nie korzysta z nieaktualnych funkcji.
Można również ustawić w manifeście minimum_chrome_version
, aby użytkownicy z starszymi wersjami go nie instalowali.
1
Oto wersja, oparta na odpowiedź od @serg, że wydobywa wszystkie elementy liczby wersji:
function getChromeVersion() {
var pieces = navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/);
if (pieces == null || pieces.length != 5) {
return undefined;
}
pieces = pieces.map(piece => parseInt(piece, 10));
return {
major: pieces[1],
minor: pieces[2],
build: pieces[3],
patch: pieces[4]
};
}
Nazywanie elementów w obiekcie, który jest zwracany jest oparty na this konwencja, ale możesz oczywiście dostosować ją do opartej na this.
Dlaczego chcesz to wiedzieć? A ponieważ Chrome jest open source, możesz zmienić to na dowolne, zanim zaczniesz budować. –
Wyszukiwarka Google (niebędąca funkcją natychmiastową) w przeglądarce Chrome 9 w pierwszym zapytaniu korzysta z technologii AJAX. To łamie moje przedłużenie. – Skizit