Вот с какой штукой столкнулся. Битрикс подставляет к html class="bx-no-touch ..." если мы заходим с не с мобильного и class="bx-touch" если с мобильного. Для чистоты эксперимента ставим интернет-магазин из "коробки" и больше ничего. Заходим на него с хрома в консоли видим
Код
<ht ml xml:lang="ru" lang="ru" class="bx-no-touch bx-core bx-no-retina bx-chrome">
С мозилы
Код
<ht ml xml:lang="ru" class="bx-no-touch bx-core bx-no-retina bx-firefox" lang="ru">
C 11 ИЕ
Код
<ht ml class="bx-no-touch bx-core bx-no-retina bx-ie bx-ie11" lang="ru" xml:lang="ru">
Прикидываемся ios
Код
<ht ml xml:lang="ru" lang="ru" class="bx-touch bx-core bx-ios bx-retina bx-chrome" g_init="2210393201705171220">
Прикидываемся Android
Код
<ht ml xml:lang="ru" lang="ru" class="bx-touch bx-core bx-android bx-retina bx-chrome" g_init="2210393201705171220">
Вроде все отлично и проблем нет. Но тут у меня в руках появляется вот такой ТАИТИ И у меня возник вопрос, как Битрикс определит это устройство. С одной стороны это обычный ноут, а с другой планшет. Проводим те же тесты, но уже с ТАИТИ и сталкиваемся вот с чем, во всех браузерах кроме ИЕ результат прежний, но в ИЕ вот что:
Код
<ht ml lang="ru" xml:lang="ru">
класс не присвоен и шаблон отображается не так как задумано разработчиками. Я не думаю, что появится клиент с таким зверем, да еще и на ИЕ, но факт есть факт. Да и кроме ТАИТИ есть еще ряд таких устройств. Так вот собственно вопрос: какой скрипт занимается этим определением? Как выйти из этой ситуации? Можно просто накидать варианты. Я давно имею привычку делать так http://mobiledetect.net/
Если брать описание, то это в первую очередь ноутбук, а значит класс bx-touch не нужен.
Сами классы ставятся либо тут
core.js BX.browser.addGlobalClass()
либо в EndBufferContent при установленной галочке перемещения скриптов в конец страницы.
Чтобы не модифицировать ядро, я бы рекомендовал добавить небольшой скрипт, который добавит класс bx-touch для вашего устройства.
Код
BX.ready(function()
{
if (/Taithi/.test(navigator.userAgent)) // сюда надо вставить правильный идентификатор
{
BX.addClass(document.documentElement, 'bx-touch');
}
});