Мобильное устройство определяется как немобильное
-
08-06-2019 - |
Вопрос
Я включил мобильную веб-форму в свой asp.net проект, я думал, что это может / должно быть видно только моим мобильным пользователям, но я понимаю, что это также можно увидеть из любого браузера, я не вижу в этом проблемы, потому что я мог бы изменить доступ, используя HttpBrowserCapabilities.IsMobileDevice = true и переносится на соответствующую страницу aspx, но это приводит к тому, что когда я получаю доступ к веб-форме со своего мобильного устройства, она идентифицируется как IsMobileDevice = false и отправляет меня на другую страницу.
Как это могло быть возможно?
Мобильное устройство работает под управлением Pocket PC 2003.
Решение
Некоторые из них не распознаются, потому что с UserAgent произошла ошибка или используется новый браузер.Например, Opera Mobile 9.5.Чтобы исправить это, вам нужно создать файл браузера (*.browser) специально для определения этого.Я должен был сделать это для нового пользовательского агента на базе Mozilla, который отправляется из Google.
Другие советы
ИМХО:Ценность HttpContext.Current.Request.Headers("User-Agent")
это гораздо более безопасная ставка, поскольку она фактически указывает браузер, который делает запрос, а не тип устройства per-se.
По опыту я узнал, что если смартфон отправляет запрос к вашему сервису через сторонний браузер, чаще всего выполняется какой-либо тест "к какому типу устройства вы относитесь" (HttpCapabilitiesBase.IsMobileDevice
и/или HttpContext.Current.Request.Browser.IsMobileDevice
) потерпит неудачу.
К сожалению, из-за отсутствия большого списка разрешенных пользовательских агентов (или запрещенных пользовательских агентов, если уж на то пошло) вам просто нужно убедиться, что он не запускается в Mozilla, iPhone или Opera, прежде чем отображать страницу...
На этой арене трудно играть.
Удачи.
Я думаю, вам следует использовать другие возможности DDR лучше, чем возможности браузера Microsoft.Я использую http://wurfl.sourceforge.net> WURFL, у него открытый исходный код и, возможно, он более расширенный и обновленный.Существуют и другие коммерческие DDRS, такие как Устройство ATLAS.
Существует много библиотек .net, но я использую Марг.Вурфл.Это позволяет отрисовывать веб-страницу для мобильных устройств, используя возможности wurfl.