Indetificar o dispositivo que chamou o site.
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
Curtidas 0
Respostas
Luiz Maia
07/04/2010
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
GOSTEI 0
Ademilso Peres
07/04/2010
Sim, eu quero usar a mesma url para o mobile e tambem para a aplicação web que rodara nos micros.
GOSTEI 0
Luiz Maia
07/04/2010
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
GOSTEI 0
Luiz Maia
07/04/2010
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
GOSTEI 0
Ademilso Peres
07/04/2010
Como o minha aplicação pode reconhecer se a url foi executada por uma celular ou por um micro?
GOSTEI 0
Luiz Maia
07/04/2010
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
GOSTEI 0
Ademilso Peres
07/04/2010
Sera uma aplicação web acessada via um navegador mobile.
GOSTEI 0
Luiz Maia
07/04/2010
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
Luiz Maia
GOSTEI 0
Luiz Maia
07/04/2010
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;
}
GOSTEI 0
Luiz Maia
07/04/2010
Ola Ademilso,
Como esta? Funcionou com o metodo abaixo?
Abraços
Att
Luiz Maia
GOSTEI 0
Ademilso Peres
07/04/2010
Sim, funcionou,valeu, pode fazer este chamado.
GOSTEI 0
Luiz Maia
07/04/2010
Blz Ademilso, precisando... é so falar!!!
Abraços
Att
Luiz Maia
GOSTEI 0