【发布时间】:2011-10-31 13:10:48
【问题描述】:
我的 Web 应用程序针对主要智能手机,我需要根据设备更改 CSS 文件(如果 UI 中有问题需要点击它们),我计划使用以下 jQuery 交换 CSS。只是想知道它是否是最佳实践并且性能良好?
<link rel="stylesheet" href="basic.css" type="text/css" class="cssLink" />
<link rel="stylesheet" href="general.css" type="text/css" />
<script type="text/javascript">
$(document).ready(function() {
// css file based on the device
var controlCss;
// get the device agent and conver to lover case
var deviceAgent = navigator.userAgent.toLowerCase();
if(deviceAgent.match(/android/i)){
controlCss = "android.css";
$(".cssLink").attr("href", controlCss);
}
else if(deviceAgent.match(/webso/i)){
controlCss = "webOS.css";
$(".cssLink").attr("href", controlCss);
}
else if(deviceAgent.match(/iphone/i)){
controlCss = "iphone.css";
$(".cssLink").attr("href", controlCss);
}
else if(deviceAgent.match(/ipod/i)){
controlCss = "ipad.css";
$(".cssLink").attr("href", controlCss);
}
else if(deviceAgent.match(/blackberry/i)){
controlCss = "bb.css";
$(".cssLink").attr("href", controlCss);
}
else {
controlCss = "basic.css";
$(".cssLink").attr("href", controlCss);
}
});
</script>
【问题讨论】:
-
有什么理由避免使用带有屏幕尺寸规则的 CSS
@media查询? -
@kojiro,我不反对你,首先我想办法,但后来,我认为 CSS 文件大小会增加,所以想去 diff 文件。
-
没有什么能阻止你这样做。你应该阅读documentation on media queries。
-
这里的basic.css和general.css是什么?我面临同样的问题,我无法理解这种方法
-
它只是标记重置文件和普通css文件。
标签: javascript jquery html css smartphone