Czy istnieje sposób na wykrycie, czy użytkownik odwiedzający moją stronę działa pod numerem Chromium w przeciwieństwie do Google Chrome? Nawet podstawowe węszenie UA (co wiem, że jest złą praktyką) wystarczyłoby dla mojego konkretnego przypadku, ale wydaje się, że Chromium i Chrome share the same UA string - czy to prawda? Czy jest jakiś inny sposób na rozróżnienie tych dwóch?Jak wykrywać Chromium specjalnie w porównaniu z Chrome?
5
A
Odpowiedz
4
Chrome jest dostarczany z wbudowanym czytnikiem PDF, Chromium nie.
Można to wykryć za pomocą JavaScript:
function isChrome() { // Actually, isWithChromePDFReader
for (var i=0; i<navigator.plugins.length; i++)
if (navigator.plugins[i].name == 'Chrome PDF Viewer') return true;
return false;
}
Ta metoda nie jest w 100% wiarygodne, ponieważ użytkownicy mogą kopiować binarny czytnika PDF z Chrome do ich katalogu chrom, patrz this answer on Ask Ubuntu.
Nie ma prawie żadnej różnicy między Chromium i Chrome (na pewno nie w renderingu lub silniku JavaScript), więc dlaczego chcesz zauważyć różnicę?
0
Oto wariacja na odpowiedź Paul W., że pracuje dla Chromium wersji 42 i powyżej:
function isChromium() { // Actually, isWithChromiumPDFReader
for (var i=0; i<navigator.plugins.length; i++)
if (navigator.plugins[i].name == 'Chromium PDF Viewer') return true;
return false;
}
To oczywiście działa tylko wtedy, gdy wtyczka nie została wyłączona przez użytkownika.
2
Nowe wersje Chromium mają również wtyczkę PDF.
Ale mają też chrom wtyczek, więc jeśli każdy plugin zaczyna się od "Chromium", to Chrom:
function isChromium()
{
for (var i = 0, u="Chromium", l =u.length; i < navigator.plugins.length; i++)
{
if (navigator.plugins[i].name != null && navigator.plugins[i].name.substr(0, l) === u)
return true;
}
return false;
}
Dzięki! Zakładam, że prawdopodobnie masz na myśli 'navigator.plugins [i] .name'? (Przesunąć 's'.: P) –
@AlanSz Tak, dzięki za powiadomienie. –
To nic nie warte, dotyczy to tylko wersji Chrome na komputery. – hexalys