Ứng dụng web của tôi nhắm mục tiêu đến Điện thoại thông minh chính và tôi cần thay đổi tệp CSS theo thiết bị (nếu có vấn đề trong giao diện người dùng cần nhấn) và tôi đang lập kế hoạch hoán đổi CSS sử dụng jQuery sau đây. Chỉ muốn biết liệu đó có phải là phương pháp hay nhất và hiệu quả tốt không?Phát hiện thiết bị và trao đổi tệp CSS - jQuery
<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>
Bất kỳ lý do nào để tránh sử dụng truy vấn CSS '@ media' có quy tắc kích thước màn hình? – kojiro
@kojiro, tôi không phản đối với bạn, fisr của tất cả tôi nghĩ cách, nhưng sau đó, tôi nghĩ rằng kích thước tập tin CSS sẽ được tăng lên vì vậy nghĩ để đi các tập tin khác. –
Không có gì ngăn bạn làm điều đó. Bạn nên đọc [tài liệu về truy vấn phương tiện] (http://www.w3.org/TR/css3-mediaqueries/). – kojiro