Как определить Chromium специально против Chrome?

Есть ли способ определить, работает ли посетитель моего сайта Chromium, а не Google Chrome? Даже базовое обдутие UA (что я знаю - плохая практика) было бы достаточным для моего конкретного случая, но кажется, что Chromium и Chrome используют одну и ту же строку UA - это верно? Есть ли другой способ, которым я могу различать эти два?

Ответ 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;
}

Это, конечно, работает только в том случае, если пользователь не отключил плагин.