2010-04-16 4 views
6

У меня есть существующий веб-сайт, и я бы хотел создать более подходящую для него мобильную версию. Например, на главном сайте используются раскрывающиеся меню, и все мы знаем, что это довольно неудачно на мобильных устройствах.Обнаружение запросов от мобильных браузеров в ASP.NET

Я бы хотел перенаправить на мою мобильную версию (это будет субдомен текущего сайта), если я обнаруживаю запрос из мобильного браузера. Поэтому, когда они что-то Google и приходят на мой сайт, они автоматически видят мобильную версию (как и Википедия).

Предоставляет ли ASP.NET простой способ сделать это? Если нет, как я могу это сделать?

+0

@fravelgue Если вы собираетесь приехать сюда и плакать о том, что это дубликат, тогда человек поднимается и голосует, чтобы закрыть его и указать мне на дубликат. Я ничего не нашел. Ваш шум совсем не помогает! –

+0

sry mate. Я думаю, что WURFL может быть интересным для вас. Итак, у mdbf есть некоторые проблемы: http://mdbf.codeplex.com/Thread/View.aspx?ThreadId=209583 – fravelgue

ответ

1

Существует article on CodeProject, который обеспечивает такую ​​функцию.

+0

Ну, это не совсем тот ответ, на который я надеялся. Синтаксический анализ строки агента пользователя является для меня прецедентом. –

+0

Это единственное, что может отличить запрос мобильного браузера от обычного браузера. –

+0

Ну, у меня есть мечта! В один прекрасный день мои четверо маленьких детей смогут написать 'If Request.IsMobile' –

2

Существует проект на CodePlex, которые вы можете использовать: Mobile Device Browser File

Описание проекта

Мобильный браузер Определение Файл содержит определения для отдельных мобильных устройств и браузеров. При запуске время ASP.NET использует информацию в для заголовка запроса, чтобы определить, что тип устройства/браузера сделал запрос .

Этот проект предоставляет файл данных, который при использовании ASP.NET обнаружит входящего мобильного устройства и представить вам как веб-разработчик с набором из 67 возможностей или свойств, описывающих запрашивающее устройство. Эти могут варьироваться от размера экрана до поддержки файлов cookie и предоставить всю необходимую информацию сделать контент для мобильных телефонов и устройствами.

Что такое файл определения браузера мобильного устройства?

Мобильное устройство Browser Определение Файл содержит определения возможности для отдельных мобильных устройств и браузеров. Во время выполнения ASP.NET использует этот .browser файл, наряду с информации в запросе HTTP заголовка, чтобы определить, какой тип устройства/браузер сделал запрос и каковы возможности этого устройства являются. Эта информация подвергается проявителю через свойство Request.Browser, и позволяет их портфолио для представления их веб-страницы в соответствии с возможностями целевого устройства .

3

Свойство IsMobileDevice можно использовать где-то в Request.Browser. Однако вам нужны определённые определения браузера. Я использую этот отличный набор определений браузера: Ocean's place browser definitions.

Они действительно в глубине и лучшее, что я видел. Я думаю, что он в настоящее время работает и с .NET4.

3

Я думаю, что лучшим решением является WURFL. Это более актуальное хранилище описания устройства, и оно бесплатное. Единственным неудобством является .net api - GPL.

3

Держите это просто ...

Хереса JS для тех же ...

Надеется, что это помогает кто-то ..

var useragent = navigator.userAgent; 

var isMobile = !!useragent.match(/iPhone|Android|Blackberry|Sony|Nokia|Motorola|Samsung/i), 
    isWebBrowser = !!useragent.match(/Mozilla/i); 

// Redirect the call accordingly. 

    if(isWebBrowser && !isMobile) 
      //call to web portal 
      alert(" You seem to me... calling from Web Browser") 
    else if(isMobile) 
     //call to mobile apps 
      alert(" Call seems to be from Mobile device...") 
    else 
    { 
     // jus kiddin... 
     alert(" Unable to detect the device..... Please report to admin...") 
    } 
+0

Проблема с этим решением, которое я испытал, по крайней мере, в Chrome, заключается в том, что страница продолжает загружаться после обнаружения мобильного браузера, и вы устанавливаете location.href в свой мобильный раздел. Это выглядит странно, когда страница загружается на полпути, и пользователь пересылается в середине. Было бы более плавным, если бы пользователь перенаправлялся, прежде чем попасть на веб-страницу. –