Есть ли способ определить, работает ли посетитель моего сайта Chromium, а не Google Chrome? Даже базовое обдутие UA (что я знаю - плохая практика) было бы достаточным для моего конкретного случая, но кажется, что Chromium и Chrome используют одну и ту же строку UA - это верно? Есть ли другой способ, которым я могу различать эти два?
Как определить Chromium специально против Chrome?
Ответ 1
Chrome поставляется со встроенным PDF-считывателем, Chromium этого не делает.
Вы можете обнаружить это, используя 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;
}
Этот метод не является на 100% надежным, поскольку пользователи могут копировать PDF-ридер из Chrome в свой каталог Chromium, см. этот ответ на Ask Ubuntu.
Между Chromium и Chrome практически нет различий (конечно, не в рендеринге или JavaScript-движке), так почему вы хотите определить разницу?
Ответ 2
В новых версиях Chromium также есть PDF-плагин.
Но у них также есть Chromium-plugins, поэтому, если любой плагин начинается с "Chromium", это Chromium:
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;
}
Ответ 3
Вот вариант ответа Павла В., который работает для Chromium версии 42 и выше:
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;
}
Это, конечно, работает только в том случае, если пользователь не отключил плагин.