根据用户代理更改样式表


<script language="Javascript">
var deviceIphone = "iPhone";
var deviceIpod = "iPod";
//Initialize our user agent string to lower case.
var uagent = navigator.userAgent.toLowerCase();
//**************************
// Detects if the current device is an iPhone.
function DetectiPhone()
{
   if (uagent.search(deviceIphone) > -1)
   {document.write('<link rel="stylesheet" type="text/css"       href="ui/mobile/css/site.css">');
}   

等等……上面的

是我代码的开始。我试图改变CSS文件取决于什么平台的用户正在使用。我现在使用media="screen…"但这并不适用于我尝试使用的大量平台。我需要一些更详细/复杂的东西,这就是为什么我转向用户代理。

任何想法为什么css文件不改变我的iPhone使用上述代码?

更好的是,有什么想法可以根据用户平台/屏幕分辨率改变样式表吗?

试试这个:

if(navigator.userAgent.match(/iPhone/i)){
    // code
}

匹配正则表达式。标志"i"表示不区分大小写;)

也许上面的代码不起作用,因为您正在将UA字符串转换为小写,但是您的目标设备字符串是camelcase:)

search()函数默认区分大小写

最新更新