Request.Browser.Platform не возвращает iPad, OSX или Windows7 - PullRequest
6 голосов
/ 06 июня 2010

Я работаю над улучшенным определением браузера и загрузил файл браузера MDBF из CodePlex.

К сожалению, моя платформа Request.Browser.Platform вместе с несколькими другими вещами возвращает «Неизвестно» как на моем iPad Mac OSX (Snow Leopard), так и на Windows7

Кто-нибудь знает хороший продвинутый файл .browser, который делает то же самое для немобильных устройств, что и MDBF для мобильных устройств?

Ответы [ 2 ]

9 голосов
/ 07 апреля 2011

Я решил мою конкретную проблему (обнаружение iPad) с помощью следующего файла в папке App_Browsers моего приложения:

<browsers>
  <!-- Mozilla/5.0 (iPad; U; CPU OS 4_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C134 Safari/6533.18.5 -->
  <gateway id="IPad" parentID="Safari">
    <identification>
      <userAgent match="iPad" />
    </identification>

    <capabilities>
      <capability name="mobileDeviceModel"               value="IPad" />
      <capability name="mobileDeviceManufacturer"        value="Apple" />
      <capability name="isMobileDevice"                  value="true" />
    </capabilities>
  </gateway>
</browsers>

Затем в тестируемом коде:

if (Request.Browser.MobileDeviceModel == "IPad")
  ...
1 голос
/ 22 июня 2010

Используйте Request.UserAgent вместо.

Остерегайтесь , что оно также включает слово Mobile:

  Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us)
  AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 
  Mobile/7B367 Safari/531.21.10

От Apple при подготовке контента для iPad:
https://developer.apple.com/library/content/technotes/tn2010/tn2262/_index.html

...