Итак, в настоящее время у меня возникла проблема с попыткой открыть наше веб-приложение в официальном стандартном браузере Android для Jelly Bean. Я не знаю, насколько хорошо я могу разработать эту проблему, но я буду стараться изо всех сил.
Для устройств, работающих под управлением ICS или старше, в любом браузере (стандартный, firefox, chrome) мы можем ввести URL-адрес нашего веб-приложения, перейти на страницу входа, войти и просмотреть все в порядке.
Для устройств с Jelly Bean (4.1 и 4.2), если мы введем URL-адрес в стандартный браузер, мы получим следующее:
Однако, если мы используем Chrome или Firefox, все в порядке.
Странно, что мы получаем эту ошибку, потому что я уже аутентифицирован в нашей сети, и я только пытаюсь получить доступ к экрану входа в систему, поэтому никакой другой аутентификации не требуется.
Наше веб-приложение получает информацию с сервера, и, похоже, это не проблема на стороне сервера.
Таким образом, похоже, что виновником является стандартный браузер в Jelly Bean, и я попытался найти какие-либо изменения в стандартном веб-браузере с ICS на Jelly Bean, но пока ничего не нашел.
Кто-нибудь сталкивался с такой проблемой или знает о каких-либо больших изменениях (возможно, связанных с безопасностью?), которые были внесены в стандартный браузер Android на Jelly Bean?
РЕДАКТИРОВАТЬ: это веб-приложение недоступно извне. В настоящее время мы только внутренне протестировали, где вы должны быть подключены к нашей внутренней сети.
РЕДАКТИРОВАТЬ 2: только что проверил с помощью браузера Dolphin, и произошло то же самое ... так что я действительно потерялся сейчас, поскольку я еще менее уверен, что это как-то связано со стандартными браузерами 4.1+. Кроме того, еще кое-что, что заставляет меня чувствовать себя еще более потерянным, это то, что я только что проверил стандартный браузер Galaxy SIII на версии 4.1.2, и страница загружается нормально ...
РЕДАКТИРОВАТЬ3: Хорошие новости, наши разработчики провели дальнейшее расследование, и, по-видимому, это проблема:
браузер по умолчанию добавляет к запросу дополнительный заголовок, который заставляет наш сервер думать, что это запрос ajax, и отклоняет его, потому что остальная часть запроса на самом деле не является запросом ajax... Эта ошибка вызвана тем, что браузер по умолчанию в Android 4.1+ добавил новый заголовок ко всем запросам «X-Requested-With: com.android.browser».
Итак, я предполагаю, что браузер Dolphin HD делает то же самое ... проводится дальнейшее расследование, поэтому я вернусь к этому и опубликую ответ.