我目前正在使用的網站使用的是自定義CMS,並且已經使用拆分CSS文件進行移動集成,所以我有: - desktop.css - mobile.css手機和桌面CSS文件,餅乾和兩者之間的切換
有檢測屏幕尺寸和提供相應的CSS文件中的JavaScript。
用戶可以查看較小的屏幕上完整的網站,並查看較小的網站在大屏幕上,在PHP中設置如下的cookie的選項:
$mob = '?setmob';
$mob_len = strlen($mob);
$self_end = substr($self, strlen($self) - $mob_len);
if($self_end == $mob){
$settomobile = 1;
}
else{
$full = '?setfull';
$full_len = strlen($full);
$full_end = substr($self, strlen($self) - $full_len);
if($full_end == $full){
$settofull = 1;
}
}
if($settomobile == 1)
{
setcookie("viewing", "", time()-3600);
setcookie("viewing", "mobile", time()+63113851);
}
if($settofull == 1)
{
setcookie("viewing", "", time()-3600);
setcookie("viewing", "desktop", time()+63113851);
}
檢測屏幕尺寸的JavaScript服務於CSS是:
<script type=\"text/javascript\">
function adjustStyle(width) {
width = parseInt(width);
if (width < 750) {
$(\"#size-stylesheet\").attr(\"href\", \"/mobile.css\");";
$mob = "Yes";
$top_contents .= "} else {
$(\"#size-stylesheet\").attr(\"href\", \"/$css_name.css\");
}
}
function setToMobile() {
var width = 200;
if (width < 750) {
$(\"#size-stylesheet\").attr(\"href\", \"/mobile.css\");";
$mob = "Yes";
$top_contents .= "} else {
$(\"#size-stylesheet\").attr(\"href\", \"/$css_name.css\");
}
}
function setToDesktop() {
var width = 1000;
if (width < 750) {
$(\"#size-stylesheet\").attr(\"href\", \"/mobile.css\");";
$mob = "Yes";
$top_contents .= "} else {
$(\"#size-stylesheet\").attr(\"href\", \"/$css_name.css\");
}
}
$(function() {";
if(isset($_COOKIE['viewing']) || $settofull || $settomobile){
$view = $_COOKIE['viewing'];
if(($view == 'mobile' || $settomobile == 1) && !$settofull){
$top_contents .= "setToMobile();";
}
elseif(($view == 'desktop' || $settofull == 1) && !$settomobile){
$top_contents .= "setToDesktop();";
}
}
else{
$top_contents .= " adjustStyle(screen.width);
";}
$top_contents .="
}); </script>";
}
$top_contents = $top_contents . "<link rel=\"stylesheet\" type=\"text/css\" href=\"/admin/css/$css_name.css\" id=\"size-stylesheet\" title=\"default\" />
我發現的問題是,該網站有先啓動正常的CSS,JavaScript的踢在將用戶重定向到移動CSS之前。
有一個簡單的辦法可以解決這個問題,使用戶不必在移動CSS加載之前看到完整的網站?
在此先感謝你們!
您可以使用移動查詢。 – Raptor 2013-04-29 10:53:00
你是什麼意思的移動查詢? – steveyb 2013-04-29 12:35:27
應該是**媒體查詢**。看到我的答案 – Raptor 2013-04-30 02:28:15