0

PHPスクリプトがJavascriptによって収集された値を渡すことは可能ですか?

Javacript がユーザーの画面解像度をキャプチャできる場合、その値を使用して PHP (IF および Else 関数) を実行し、特定の php ファイルをロードできますか?

わかりやすい説明をするために、

  1. Javascript は、ユーザーの画面解像度を検出します。
  2. 画面解像度が決定されると、PHP スクリプトは正しい php ファイルをロードします。
  • 画面解像度が 1200 以上の場合、PHP ファイル No. 1 を表示
  • 画面解像度が 1920 以上の場合、PHP ファイル No. 2 を表示
  • IF 画面解像度が 1200 未満 = PHP ファイル No. 3 を表示

ところで、PHP ファイルは Web ページのほんの一部であることを忘れていました。PHPファイルがヘッダーであると仮定しましょう。PHP ファイル #1、#2、および #3 はデザインが異なり、内部に Google 広告が含まれています。

PHP #1 & #2 には 728px 幅の Google Adsense 広告があり、PHP #3 には 300px 幅の Google Adsense 広告があります

それは可能ですか?あなたの助けは非常に高く評価されています. どうもありがとうございました!:)

4

6 に答える 6

1

PHPを使用する必要はありません。

多分このようなもの?:

if ((screen.width>=1024) && (screen.height>=768))
{
 window.location="highres.html";
}
else
{
  window.location="lowres.html";
}

PHPを使用する必要がある場合は、単純なAjax呼び出しを行うことができます。

于 2013-03-19T15:32:56.863 に答える
1

もちろん可能です。まず、解決策を取得するスクリプトを含むページをロードし、次にPOSTまたはGETを使用して値を送信し、必要なものを返します。

ajaxを使用することをお勧めします。そうしないと、ページが2回読み込まれると、ユーザーの邪魔になる可能性があります。

于 2013-03-19T15:34:04.310 に答える
1

これは 2 つの方法で行うことができます。

  • javascript を介して、結果に応じて読み込むファイルを決定します
  • 結果を PHP に送信し (GET または POST)、何を行うか (AJAX またはリダイレクト) を決定します。

とにかく、PHPは本当に必要ありません

于 2013-03-19T15:34:35.210 に答える
0

他の回答はAJAXに焦点を当てています-いくつかのアドセンス広告のために-よりクリーンですが、実際に必要なよりも複雑なソリューションになる可能性があります-完全を期すために、安価で簡単な代替手段があります:すべてをページにダンプします最初にそれを処理する方法を決定します。

例えば。あなたのHTMLで:

<div id="ADgt1200" style="display:none;">
  <!-- adsense code-->
</div>
<div id="ADgt1920" style="display:none;">
  <!-- adsense code-->
</div>
<div id="ADlt1200" style="display:none;">
  <!-- adsense code-->
</div>

次に、Javascriptで:

//pseudo
if(whatever.width > 1200)
  document.getElementById('ADgt1200').style.display = 'block';
else { /* etc... */ }

あなたのコメントに応えて:

これは単なる原始的な例であり、同じ原則に基づいて、アドセンス コードを JavaScript 変数に格納できない理由はありません...

<script>
    var myAdsense = [
      'gt1200': '<adsense/>',
      'gt1920': '<code/>',
      'lt1200': '<block/>'
    ];

    window.onload = function(){
      if(whatever.width > 1200)
        document.getElementById('myEl').innerHTML = myAdsense['gt1200'];
      // etc.
    };
</script>
<div id="myEl"></div>

... したがって、あなたがそう言わない限り、コードは実際には DOM にロードされません。

于 2013-03-19T15:56:42.837 に答える
0

JQuery スクリプトを使用してページをロードし、PHP が正しい html ファイルを返すようにすることができます。次に、次のように呼び出します。

$.post("page.php", {sel:"cond1", dpiy: dpi_y, dpix: dpi_x}, function(j)
{
    //load form
    $("#ext_page").html(j);
});
于 2013-03-19T15:35:36.117 に答える
0

このロジックを配置したいページは 1 つだけではないと思います。これが私がすることです:

  1. $_SESSION['screen-res'] で画面解像度が使用可能かどうかを確認します。そうでない場合は、ブラウザを「check-screen-res.php」にリダイレクトします。この PHP ファイルには、画面解像度を検出し、変数「screen-res」を使用してセッションに保存するための関連する JavaScript コードが含まれている必要があります。

  2. セッションに画面解像度がある場合は、問題ありません。これを使用して、必要な PHP ファイルをインクルードするだけです。

もちろん、ユーザーがサイトにいる間に解像度を変更した場合、この戦略は機能しません。画面解像度の変更が検出された場合に適切なイベントを発生させることで、おそらくそれを処理できます。その場合は、それに応じてセッション変数などを更新します。

お役に立てれば。これが従うべき戦略であるかどうかお知らせください。このスレッドを php/javascript コードで更新させていただきます。

于 2013-03-19T17:43:01.800 に答える