2010-05-14 16 views

Respuesta

9

Tome un vistazo a:

http://mobiforge.com/developing/story/lightweight-device-detection-asp

sub is_mobile() 
    Dim Regex, match 
    Set Regex = New RegExp 
    With Regex 
     .Pattern = "(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|windows ce|pda|mobile|mini|palm|ipad)" 
     .IgnoreCase = True 
     .Global = True 
     End With 
    match = Regex.test(Request.ServerVariables("HTTP_USER_AGENT")) 
    If match 
     return True 
    Else 
     return False 
    End If 
End Sub 

** Exención de responsabilidad: * el código puede no funcionar, ya que no tengo método para probarlo y poco knowleage de ASP clásico.

+0

Si partido debe cambiar a Si partido "y luego" que le falta una continuación! – temple

9

Estaba buscando una forma de hacerlo yo mismo. Después de tomar el código aquí, encontré algunos problemas (nada especial, solo mezclar idiomas, algo que hago regularmente). Aquí está la versión modificada corregida para ASP clásico.

Function Is_Mobile() 
    Set Regex = New RegExp 
    With Regex 
    .Pattern = "(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|windows ce|pda|mobile|mini|palm|ipad)" 
    .IgnoreCase = True 
    .Global = True 
    End With 
    Match = Regex.test(Request.ServerVariables("HTTP_USER_AGENT")) 
    If Match then 
    Is_Mobile = True 
    Else 
    Is_Mobile = False 
    End If 
End Function 

Aviso que no declaró las dos variables, sé que es perezoso sino como ASP no es Option Explicit me resulta útil para su conveniencia.

esto es ahora trabajando como un encanto en mi página para la detección móvil, de la siguiente manera:

<%If Is_Mobile() then%> 
    <META NAME="viewport" CONTENT="initial-scale = 0.6, user-scalable = no"> 
    <LINK REL="stylesheet" TYPE="text/css" HREF="/CSS/Mobile.css" /> 
<%Else%> 
    <LINK REL="stylesheet" TYPE="text/css" HREF="CSS/Default.css" /> 
<%End If%> 

Espero que ayude.

+0

me ayudó. Gracias. – James

4

Actualizado para la ayuda androide

Function is_mobile() 
    Dim Regex, match 
    Set Regex = New RegExp 
    With Regex 
     .Pattern = "(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|windows ce|pda|mobile|mini|palm|ipad|Android|BlackBerry|iPhone|iPod|Palm|Symbian)" 
     .IgnoreCase = True 
     .Global = True 
     End With 
    match = Regex.test(Request.ServerVariables("HTTP_USER_AGENT")) 
    If match then 
     is_mobile=True 
    Else 
     is_mobile=False 
    End If 
End Function 
1

Esto funciona muy bien para mí ..

<% 
dim u,b,v 
set u=Request.ServerVariables("HTTP_USER_AGENT") 
set b=new RegExp 
set v=new RegExp 
b.Pattern="(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino" 
v.Pattern="1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-" 
b.IgnoreCase=true 
v.IgnoreCase=true 
b.Global=true 
v.Global=true 
if b.test(u) or v.test(Left(u,4)) then response.redirect("http://detectmobilebrowser.com/mobile") end if 
%> 

Fuente http://detectmobilebrowsers.com/

+0

Tenga en cuenta que esto no funcionará para las tabletas; consulte el enlace Acerca de en detectmobilebrowsers.com o simplemente agregue: | android | ipad | playbook | silk al final del primer patrón – Paul

Cuestiones relacionadas