Fórum Indetificar o dispositivo que chamou o site. #134347

07/04/2010

0

Preciso fazer um site para mobile e desktop como posso indetificar qual recurso chamou o site para poder exibir as paginas corretas? No vs2005 asp.net 2
Ademilso Peres

Ademilso Peres

Responder

Posts

07/04/2010

Luiz Maia

Ademilso,   Existem alguns tipos de aplicações. Site para mobile é uma aplicação WAP, e para desktop não existe site. Logo vc tera que fazer duas aplicações diferentes, ou seja, uma desktop (windows aplication) e outra para Mobile ( que pode ser uma Mobile app - instalada no aplicativo movel ou mesmo um web site WAP - instalado num servidor HOST com suporte para wap).   Para ambas as aplicações vc pode usar a mesmo camada de dados, mas tera que ser aplicações diferentes.   Abraços Att Luiz Maia
Responder

Gostei + 0

07/04/2010

Ademilso Peres

Sim, eu quero usar a mesma url para o mobile e tambem para a aplicação web que rodara nos micros. 
Responder

Gostei + 0

07/04/2010

Luiz Maia

Então você tera que fazer duas aplicações, uma Web e outra Wap. Lembrando que as duas poderão ser parecidas, mas uma aplicação Wap tem bem menos recursos que uma web pela propria limitação do browser dos celulares.   É isto mesmo que quer? fazer uma aplicação WAP e outra WEB?   Aguardo   Att Luiz Maia
Responder

Gostei + 0

07/04/2010

Luiz Maia

Então você tera que fazer duas aplicações, uma Web e outra Wap. Lembrando que as duas poderão ser parecidas, mas uma aplicação Wap tem bem menos recursos que uma web pela propria limitação do browser dos celulares.   É isto mesmo que quer? fazer uma aplicação WAP e outra WEB?   Aguardo   Att Luiz Maia
Responder

Gostei + 0

07/04/2010

Ademilso Peres

Como o minha aplicação pode reconhecer se a url foi executada por uma celular ou por um micro? 
Responder

Gostei + 0

07/04/2010

Luiz Maia

Primeiro preciso saber que tipo de aplicação vc esta querendo fazer?   Sera uma aplicação WAP propria para mobile? Sera uma aplicação web acessada via um navegador mobile (opera, safari, mozilla)?   Aguardo Att Luiz Maia
Responder

Gostei + 0

08/04/2010

Ademilso Peres

Sera uma aplicação web acessada via um navegador mobile. 
Responder

Gostei + 0

08/04/2010

Luiz Maia

Ademilso, Sendo assim, a unica forma de identificar o browser é usando javascript na aplicação web, mas como vc deve saber js não funciona em browsers mobile. Vou ver se acho algum script js para te passar... Aguarde por favor! Att Abraços
Luiz Maia
Responder

Gostei + 0

08/04/2010

Luiz Maia

Ademilso, tente este script abaixo:   public static bool isMobileBrowser() {     //GETS THE CURRENT USER CONTEXT     HttpContext context = HttpContext.Current;     //FIRST TRY BUILT IN ASP.NT CHECK     if (context.Request.Browser.IsMobileDevice)     {         return true;     }     //THEN TRY CHECKING FOR THE HTTP_X_WAP_PROFILE HEADER     if (context.Request.ServerVariables["HTTP_X_WAP_PROFILE"] != null)     {         return true;     }     //THEN TRY CHECKING THAT HTTP_ACCEPT EXISTS AND CONTAINS WAP     if (context.Request.ServerVariables["HTTP_ACCEPT"] != null &&         context.Request.ServerVariables["HTTP_ACCEPT"].ToLower().Contains("wap"))     {         return true;     }     //AND FINALLY CHECK THE HTTP_USER_AGENT     //HEADER VARIABLE FOR ANY ONE OF THE FOLLOWING     if (context.Request.ServerVariables["HTTP_USER_AGENT"] != null)     {         //Create a list of all mobile types         string[] mobiles =             new[]                 {                     "midp", "j2me", "avant", "docomo",                     "novarra", "palmos", "palmsource",                     "240x320", "opwv", "chtml",                     "pda", "windows ce", "mmp/",                     "blackberry", "mib/", "symbian",                     "wireless", "nokia", "hand", "mobi",                     "phone", "cdm", "up.b", "audio",                     "SIE-", "SEC-", "samsung", "HTC",                     "mot-", "mitsu", "sagem", "sony"                     , "alcatel", "lg", "eric", "vx",                     "NEC", "philips", "mmm", "xx",                     "panasonic", "sharp", "wap", "sch",                     "rover", "pocket", "benq", "java",                     "pt", "pg", "vox", "amoi",                     "bird", "compal", "kg", "voda",                     "sany", "kdd", "dbt", "sendo",                     "sgh", "gradi", "jb", "dddi",                     "moto", "iphone"                 };         //Loop through each item in the list created above         //and check if the header contains that text         foreach (string s in mobiles)         {             if (context.Request.ServerVariables["HTTP_USER_AGENT"].                                                 ToLower().Contains(s.ToLower()))             {                 return true;             }         }     }     return false; }
Responder

Gostei + 0

12/04/2010

Luiz Maia

Ola Ademilso,   Como esta? Funcionou com o metodo abaixo?   Abraços Att Luiz Maia
Responder

Gostei + 0

13/04/2010

Ademilso Peres

Sim, funcionou,valeu, pode fazer este chamado. 
Responder

Gostei + 0

13/04/2010

Luiz Maia

Blz Ademilso, precisando... é so falar!!! Abraços Att Luiz Maia 
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar