私は、ユーザーが Web サイトのモバイル バージョンとデスクトップ バージョンを切り替えることができるようにするスクリプトを作成する任務を負いました。すべてのスタイルは、メディア クエリを使用して (サイズに関して) 正常に動作していますが、インクがモバイルに実装されている場合 (ブラウザーのサイズ チェック後に非表示のダイブによってデスクトップで非表示になっています)、デスクトップ バージョンに正常に切り替わりますが、ユーザーがクリックすると「モバイル」バージョンに戻るためのリンクでは、モバイル スタイル シートをレンダリングする前に 2 回の試行が必要です。これが私のコードです。
<?php //get the users choice and start or kill the session
$getWidth = $_GET["getWidth"];
if ($getWidth == "all"){
session_destroy();
} else if ($getWidth == "desktop") {
session_start();
$_SESSION['desktop'] = "1";
}
//get the current working page so the user comes back to where they were
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
//Change the div ID so the users either sees one link or the other
if(isset($_SESSION['desktop'])) {
$divID = "switchtodesktop";
} else {
$divID = "switchtomobile";
}
?>
CSS ページ:
<?php
if(isset($_SESSION['desktop'])) {
?>
<link href='<?php echo $path;?>css/desktop.css' rel="stylesheet" type="text/css">
<?php } else { ?>
<link href='<?php echo $path;?>css/mq.css' rel="stylesheet" type="text/css">
<?php } ?>
すべてのページのリンクを含む Div:
<div id='<?php echo $divID;?>'>
<?php
if(isset($_SESSION['desktop'])) {
?>
<a href='<?php echo $pageURL;?>?getWidth=all'>SWITCH TO MOBILE VIEW</a>
<?php } else { ?>
<a href='<?php echo $pageURL;?>?getWidth=desktop'>SWITCH TO DESKTOP VIEW</a>
<?php } ?>
</div>
これをワンクリックで元に戻そうとして、髪を引っ張っています!
どんな助けでも大歓迎です。
ありがとう。