Мобильное устройство определяется как немобильное

StackOverflow https://stackoverflow.com/questions/13224

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top