Я искал способ сделать это сам. После того, как я взял этот код, я обнаружил несколько проблем (ничего особенного, просто, вероятно, смешивание языков, что я делаю регулярно). Вот измененная версия, исправленная для Classic ASP.
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
Обратите внимание, что я не объявлял две переменные, я знаю, что они ленивые, но поскольку ASP не является Option Explicit, я считаю это полезным удобством.
Это теперь работает как брелок на моей странице для обнаружения мобильных устройств следующим образом:
<%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%>
Надеюсь, это поможет.