PHP传递Javascript收集的值

时间:2013-03-19 15:30:43

标签: php javascript

PHP脚本是否可以传递Javascript收集的值?

我只是想如果Javacript可以捕获用户的屏幕分辨率,我可以使用该值来运行PHP(IF和Else函数)来加载某个php文件吗?

要有清楚的解释,

  1. Javascript将检测用户的屏幕分辨率。
  2. 确定屏幕分辨率后,将加载PHP脚本 正确的php文件。
    • IF屏幕分辨率大于1200,显示PHP文件号1
    • IF屏幕分辨率大于1920年,显示PHP文件号2
    • IF屏幕分辨率低于1200 =显示PHP文件编号3
    顺便说一句,我忘了提到PHP文件只是网页的一小部分。我们假设php文件是一个标题。 PHP文件#1,#2和#3内部有不同的设计和谷歌广告。

    PHP#1& #2有728像素宽的google adsense广告 而PHP#3的宽度为300px google adsense广告

    这可能吗?非常感激您的帮忙。非常感谢你! :)

6 个答案:

答案 0 :(得分:1)

您不必使用PHP。

也许是这样的?:

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

如果必须使用PHP,则可以进行简单的Ajax调用。

答案 1 :(得分:1)

当然有可能。首先加载包含获得解析的脚本的页面,然后使用POST或GET发送值,然后返回所需的内容。

我建议使用一些ajax,否则如果页面加载两次会对用户造成干扰。

答案 2 :(得分:1)

您可以通过两种方式执行此操作:

  • 通过javascript,根据结果确定要加载的文件
  • 将结果发送到PHP(GET或POST)并让它决定做什么(AJAX或重定向)

无论如何,不​​需要PHP

答案 3 :(得分:0)

您可以使用JQuery脚本加载页面并让PHP返回正确的html文件。 然后你打电话给这样的话:

$.post("page.php", {sel:"cond1", dpiy: dpi_y, dpix: dpi_x}, function(j)
{
    //load form
    $("#ext_page").html(j);
});

答案 4 :(得分:0)

其他答案集中在AJAX上 - 为了一些adsense广告 - 虽然比较清晰,但可能比实际需要的解决方案更复杂 - 为了完整起见,有一个便宜又简单的替代方案:转储一切首先到页面,然后决定如何处理它。

例如。在您的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... */ }

回应你的评论:

这只是一个原始的例子,基于同样的原则,没有理由不能将adsense代码存储在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中。

答案 5 :(得分:0)

我猜不仅有一个页面要放置这个逻辑。这就是我要做的事情:

  1. 检查$ _SESSION ['screen-res']中的屏幕分辨率是否可用。如果没有,则将浏览器重定向到“check-screen-res.php”。这个PHP文件应该有相关的javascript代码来检测屏幕分辨率,然后使用变量'screen-res'将它存储在会话中。

  2. 如果您的会话中有屏幕分辨率,那么您很高兴。只需使用它来包含您想要的任何PHP文件。

  3. 当然,如果用户在您访问网站时更改了分辨率,则此策略将无效。如果检测到屏幕分辨率变化,您可以通过提高适当的事件来处理这个问题;如果是这样,请相应地更新会话变量,等等。

    希望这会有所帮助。如果这是你想要遵循的策略,请告诉我,我很乐意用一些php / javascript代码更新这个帖子。