如何为移动设备检测和提供单独的CSS文件?

时间:2012-12-10 18:44:39

标签: javascript html css mobile

我正在尝试检测移动设备并加载单独的CSS文件(如果它是移动设备)。为什么我的代码不起作用?

    var isMobile = {
    Android: function() {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function() {
        return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS: function() {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i);
    },
    Opera: function() {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows: function() {
        return navigator.userAgent.match(/IEMobile/i);
    },
    any: function() {
        return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
    }
};


function getcss(cssfile){

    var loadcss = document.createElement('link')

    loadcss.rel = "stylesheet"

    loadcss.setAttribute("type", "text/css")

    loadcss.setAttribute("href", cssfile)

    document.getElementsByTagName("head")[0].appendChild(loadcss)

}

if(isMobile.any() == true)
// Defines the resolution range you're targeting (less than 800 pixels wide in this case)

{

getcss('cssclass.css')
// Defines the .css file you want to load for this range (800x600.css)

}

else 

{

getcss('css2menuPage.css') 
//This else statement has "if" condition. If none of the following criteria are met, load 1280x1024.css

}

1 个答案:

答案 0 :(得分:0)

@media屏幕尺寸就像上面提到的Brad一样。否则,您将需要设置用户代理的数据库。

@media screen and(max-width:960px){h1,h2 {color:#990000;字体大小:1.4em; }}