Всем привет. Такая беда. Есть сайт https://www.stencil-library.ru/ есть на нем в мобильном варианте выпадающее меню. Все работало отлично до обновления на iOS 13.1
Теперь - стрелка раскрытия работает, ссылка в заголовке меню работает (например - МЕНЮ - КАТАЛОГ ТРАФАРЕТОВ) но далее все ссылки ниже - не работают, причем в любом браузере а не только в Сафари.
По прежнему все нормально на других мобильных ОС, а так же на iOS 12.4.
Меню глубокой переделки не подвергалось. Что бы это могло быть?
CS-CART 4.3.6 стандартная чуть причесанная тема Responsive
С этой проблемой столкнулись сейчас все. С 13.1 - они открываются, если кликнуть дважды по ссылке.
Решение пока предлагалось только одно, не знаю актуально ли для вашей версии CS-Cart:
У меня вообще мертвые, хоть два раза - хоть три кликай… На демо-магазине вижу да, там дважды - работает.
Еще обратил внимание, даже рабочие ссылки если в Сафари удержать нажатие - должно открыться приглашение выбрать что делать со ссылкой. Теперь не открывается. Не понимает почему-то iOS 13.1 ссылки.
Позволю себе вмешаться, так как разработчики безмолвствуют.
Указанный фикс для 4.9.х у меня сработал на 4.3.6
Последняя скока закрывающая в блоке “заменить на” - ЛИШНЯЯ!
Зачем менять ВСЮ функцию, когда достаточно поменять лишь блок что в цитате выше?
Почему фикс назван “временным”?
И далее: тем не менее, ссылки на сайте перестали быть “ссылками” с точки зрения Safari iOS - при длинном нажатии не выскакивает интерфейс “что делать со страницей по ссылке” хотя сама ссылка работает!
CS-Cart не предоставляет фиксы для предыдущих версий. Если у вас предыдущая версия, то можно обратиться в Helpdesk.
Я всё же дополнительно предоставил фикс для 4.9.x. Для предыдущих версий должно быть аналогично. Главное понимать суть бага с некорректной работой visibility: 'hidden' на iOS 13.
Последняя скока закрывающая в блоке “заменить на” - ЛИШНЯЯ!
Количество открывающих и закрывающих скобок в решении одинаковое. Так что лишних нет.
Зачем менять ВСЮ функцию, когда достаточно поменять лишь блок что в цитате выше?
В крайних случаях возникает баг. Поэтому необходима полная замена.
Почему фикс назван “временным”?
Потому что он не проходил полноценный этап тестирования.
ссылки на сайте перестали быть “ссылками” с точки зрения Safari iOS - при длинном нажатии не выскакивает интерфейс “что делать со страницей по ссылке”
Вот и ответ на вопрос :
Почему фикс назван “временным”?
Полноценный фикс будет после того, как задача пройдет тестирование.
С обновлением IOS до 13.1.3 проблем вернулась
Теперь не работает раскрытие подкатегории.
Как быть?
updt:
Проблема вызвана тем, что на сайте используется отложенная загрузка меню от AlexBranding.
Решение:
Отключите отложенную загрузку меню от AlexBranding. Это должно решить проблему. Для отключения отложенной загрузки меню сделайте следующее:
Откройте Панель администратора
Откройте меню Дизайн — Макеты
На вкладке По умолчанию найдите блок меню. Скорее всего он называется “Каталог товаров”
Нажмите шестеренку. В строке Шаблоны нажмите Настройки.
Снимите галочку AB: Использовать Ajax-загрузку
Нажмите Сохранить.
Очистите кэш.
@alnkde
Здравствуйте. Изучил проблему. Проблема не воспроизводится ни с временными, ни с итоговыми изменениями в коде, которые были предложены в фиксах на iOS 13.1.3.
НО предлагаемые выше diff-файлы не применялись автоматически: была ошибка error: corrupt patch at line 33
Это было связано с тем, что в конце diff-файла отсутствовала пустая строка. В связи с этим обновил diff-файл, теперь фикс можно применить автоматически.
Что делать?
Убедиться, что фикс применен.
Откройте файл js/tygh/responsive.js. Найдите функцию function _getSubmenuOriginWidth ($submenu) (~205 cтрока). Она должна выглядеть так (для версии 4.10):
Наверно вопрос глупый, но я же правильно понял, что нужно в design/themes/responsive/css в этой папке нужно создать файл 24865_3.diff или нужно в сам styles.less добавить данный фикс? просто мне не совсем понятно куда его ставить
Общий смысл: из командной строки нужно открыть корневую папку с CS-Cart, а затем применить специальной командой diff-файл. Если diff-файл у вас будет находится в корне, то можно указывать только имя файла, без полного пути до diff-файла. Подробнее по ссылке выше.