デバイス固有のレイアウトと、ブラウザーのビューポートに基づくコンテンツをサーバーにしようとしています。私は重いサイトを持っており、主にページの読み込み速度という特定の理由から、メディア クエリを使用していません。このタスクは、この方法でのみ実行する必要があります。
よし、こんな状況だ……。
2 つのファイルがindex.php
あり、viewport.php
両方ともフォルダーに存在しますhttp://localhost/test/
ブラウザーのビューポートを取得し、値を PHP 変数に変換するために、次のスクリプトを使用しています。
<?php
if (isset($_GET['width'])) {
$layoutType = $_GET['width'];
if ( $layoutType >= 240 && $layoutType <= 600 ) {
$layoutType = 'mobile';
} else if ($layoutType >= 601 && $layoutType <= 900 ) {
$layoutType = 'tablet';
} else {
$layoutType = 'desktop';
}
} else {
echo "<script language='javascript'>\n";
echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
. "&width=\" + document.documentElement.clientWidth;\n";
echo "</script>\n";
exit();
}
?>
私の質問:
Q1. 複数回使用できるようにセッション変数$layoutType
として保存するにはどうすればよいですか? それの正しい構文は何ですか?
Q2. ファイルを実行して、他のデータを取得せずに取得するにはどうすればよいviewport.php
ですかindex.php
。$layoutType
これは、<?php require_once ?>
メソッドを使用することで、次のような URL を取得しているためですhttp://localhost/test/index.php?&width=1600
。URLを同様に表示したいhttp://localhost/test/
。index.php
ファイルで使用する必要がある正しい構文は何ですか?
Q3. index.php?&width=1600
URL からAjax 部分をスキップする方法はありますか? 経由してみましたが、 「ページが正しくリダイレクトされていません」.htaccess
というエラーが表示されます
注: jQuery や MooTools などの JavaScript ライブラリを使用するつもりはありません。これは、私の Web サイト全体で唯一の JavaScript 関数であり、ライブラリ全体をロードする意味がないからです。