从JavaScript到PHP的数据传输

时间:2010-06-18 20:24:01

标签: php javascript html

如何让浏览器的高度和宽度达到php?就像从javascript到php的数据传输? 使用innerHeightInnerWidth,我认为。

(我只需要向用户显示小图片,如果他有小屏幕尺寸,如果大而且没有关于屏幕尺寸的数据我就不能这样做了)

我喜欢这个:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" href="css/slideshow.css" type="text/css" /> 

<script> 
document.write('script.php?screen=' + screen.width + 'x' + screen.height'); 
</script> 

</head> 
<body> 

<?php $lol=$_GET['screen']; 
<?php echo "SIZE : $lol" ?> 

</body> 
</html> 

它不起作用。我做错了什么?

5 个答案:

答案 0 :(得分:4)

您必须从JavaScript到PHP脚本进行AJAX调用。该PHP脚本将在当前会话中保存屏幕分辨率(您需要使用会话)。稍后请求的PHP脚本可以访问JavaScript代码段传递的屏幕分辨率。

答案 1 :(得分:2)

如果你不了解AJAX,那么你可以使用链接通过GET方法向服务器发送信息。

<script language="javascript">
   function load(){
      document.getElementById('myAnchor').href="test2.php?sw="+screen.width+"&sh="+screen.height;
   }
</script>
<body onload="load();">
<a id="myAnchor" href="#">Send to server</a>
<?php
if (isset($_GET)){
    print_r($_GET);
}
?> 
</body>

或者您也可以使用表单向服务器发送信息。

答案 2 :(得分:2)

这是一个简单的ajax对象,不使用任何库。

http://www.pagecolumn.com/javascript/ajax_object.htm

在客户端,请使用它,

function foo() {
    var screen=' + screen.width + 'x' + screen.height'; 
    ajax.getRequest("test_get.php",["screen"], [screen],function(data){
       alert(data);
    });
}

在PHP中,

<?php $lol=$_GET['screen']; 
 echo "SIZE : $lol"; 
?>

答案 3 :(得分:1)

PHP在您的网络服务器上运行 PHP处理器输出HTML,将其传输到客户端浏览器 - 此时PHP 已完成无法做任何其他事情 浏览器现在解释HTML页面并在客户端计算机上执行javascript -

Javascript 无法将值传递给PHP,因为

  • PHP位于服务器,而javascript位于客户端
  • 当javascript 启动运行
  • 时,PHP已已完成运行

正如其他人所提到的,此时你能做的最好的事情是将高度/宽度信息传递回服务器以便以后使用进行AJAX调用以动态更新页面尺寸信息。

答案 4 :(得分:0)

您可以获得屏幕分辨率,但使用JavaScript NOT PHP。 PHP是服务器端的。但是,您可以使用ajax或任何其他方法将PHP传递给PHP。