У меня есть следующий сценарий:
У меня есть два веб-сайта, один для мобильных ( m.mydomain.com ) и один для настольных компьютеров (mydomain.com )
Я решаю, какой сайт загрузить, используя обнаружение пользовательского агента
- После этого обнаружения я сохраняю информацию об устройстве пользователя вФайл cookie называется: устройство.
- Этот файл cookie может содержать одно из следующих значений: рабочий стол или мобильный.
- Если пользователь заходит на сайт с файлом cookie устройства, я пропускаю обнаружение пользовательского агента и предполагаю, что пользователь действительно использует записанное устройствов файле cookie.
(Примечание к изображению: работает и в обратном направлении, когда пользователь хочет открыть мобильный телефонссылка с рабочего стола. Когда мобильный сайт устанавливает cookie, домен cookie будет m.mydomain.com)
Ошибка: Таким образом, большинство изВременами этот механизм синхронизирован, но иногда возникают циклы перенаправления, и я не совсем понимаю причину этого.В основном один домен считает, что это рабочий стол, другой считает, что он мобильный, и они выполняют бесконечный цикл с перенаправлением.После 3 перенаправлений происходит сбой браузера с ошибкой слишком большого числа перенаправлений.
Также важно упомянуть, что я никогда не сталкивался с этим на реальном мобильном устройстве, только когда я переключался в инспекторе chrome между мобильными и настольными пользовательскими агентами..
Мои идеи заключались в том, что:
- Возможно, настройка cookie не удалась до перенаправления
- Возможно, присвоение имен доменам как-то вызывает путаницу, когда яхотите получить доступ к значению.
- Возможно, чтение значения cookie не удается