0

私がやりたいことは、訪問者が持っているウィンドウの現在の幅をサイトに取得させることです。次に、2つの異なるオプションが必要です。このようなもの:

<script>
if (screen.width < 768) {
<?php $a = 1; ?>
} else {
<?php $a = 2; ?>
}
</script>

私がやろうとしているのは、デバイスの幅に基づいてphp変数を変更することです。

これを行う最も簡単な方法はどれですか? 私はAJAXの1行を書いたり理解したりできないので、それが唯一の方法である場合、これをできるだけ簡単にするための何らかのガイドに非常に満足しています。

そしてCSSで作るのは正しい方法ではありません。ですから、CSS に関係することは言わないでください。

編集:

このコードから私が本当に得たいことを皆さんが理解しているかどうかはわかりません。

なので具体的に書きます。

2 つの最新ニュースを表示する画像スライダーが上部にあるサイトがあります。このすぐ下に、オフセット 2 に設定された投稿のクエリがあります。これは、スライダーにあるのと同じニュースをクエリしたくないためです。

だから私のコードは次のようなものです:

<?php 
$offset = 2;
$showposts = 10; 
?>
    
    <?php query_posts(array('offset' => $offset, 'showposts' => $showposts,'cat' => '8')); ?>

また、2 回以上読み込むことができない広告スクリプトがあるため、2 つの異なるクエリを作成することはできません。したがって、すべてを 1 つのクエリで実行する必要があるため、デバイスの幅に基づいて変更する必要があります。

ここで、幅が 768 未満のバージョンではスライダーを非表示にすることを忘れていたため、オフセットを 2 ではなく 0 に設定したいと考えています。

これがもっと理にかなっているといいのですが...

4

3 に答える 3

1

それを行うための簡単な方法は、AJAX を使用することです。次に、サーバーにリクエストを送信し、特定のスクリプトを実行できるようになります。

$.post("http://yoursite.com/script.json",  { windowsWidth:  screen.width });

変数でウィンドウ幅を受け取り、スクリプト内で必要なことを行うことができます。

于 2013-09-17T15:23:30.170 に答える
1

Cookie を使用して JS と PHP の間で通信できます。

Cookie を設定または更新する JS は次のとおりです。

document.cookie = "someKey=someVal; path=/;";

そして$_COOKIE["someKey"]、PHP でデータにアクセスするために使用できます。

ユーザー エージェントからデバイスの種類を検出しようとする PHP スクリプトがあります。これは、この Cookie が利用できない場合 (最初のページの読み込み) に使用するものです。そのため、インテリジェントな推測に基づいて、ページが読み込まれる前に UI を変更できます。

于 2013-09-17T15:22:41.517 に答える
-1

次のようなことを試してください:

var w = $(document).width(); // if you are using jquery
var v;
if (w < 768)
    v = <?php echo $var;?>;
else
    v = <?php echo $var2;?>;
于 2013-09-17T15:25:10.897 に答える