2010-06-18 35 views
2

如何獲取瀏覽器的高度和寬度到PHP?像從JavaScript到PHP的數據傳輸? 使用innerHeightInnerWidth,我想。從JavaScript到PHP的數據傳輸

(我只需要顯示用戶小圖片,如果他有小屏幕尺寸和大,如果大,沒有關於屏幕尺寸數據,我不能這樣做)

我有這樣的:

<!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> 

而且它不起作用。我做錯了什麼?

回答

4

您必須從JavaScript到PHP腳本進行AJAX調用。該PHP腳本將保存當前會話中的屏幕分辨率(您需要爲此使用會話)。稍後請求的PHP腳本可以訪問由JavaScript代碼段傳遞的屏幕分辨率。

+0

我在AJAX中很糟糕。它可以用JavaScript和PHP來完成。當他們在同一頁面上時。 – TRAVA 2010-06-18 20:42:21

+2

@Trava不,沒有Ajax就無法完成,對不起。 Javascript在PHP生成頁面後運行,並且沒有機會將任何內容傳回給PHP。這就是Ajax存在的原因。 – 2010-06-18 20:43:30

+0

@Trava查看jQuery的Ajax示例:http://api.jquery.com/jQuery.ajax/只需幾行代碼即可輕鬆進入。 – 2010-06-18 20:47:30

0

你可以得到屏幕分辨率,但用JavaScript 不是 PHP。 PHP是服務器端的。但是,您可以使用ajax或任何其他方法將JavaScript值傳遞給PHP。

+0

好,我需要從JavaScript到PHP的數據傳送) – TRAVA 2010-06-18 20:34:18

+0

確定,確定。抱歉。到PHP。 – TRAVA 2010-06-18 20:41:10

1

PHP運行在您的網絡服務器
PHP處理器輸出HTML,將其傳輸到客戶端瀏覽器
- 在這一點上PHP是完成。它不能做任何事情
瀏覽器現在解釋HTML頁面並在客戶機上執行javascript -

JavaScript的不能一個值傳遞給PHP,因爲

  • 的PHP是服務器上,而JavaScript是客戶
  • 的PHP已經完成上運行時間爲javascript 開始正在運行

正如其他人已經提到的那樣,您現在可以做的最好的事情是將高度/寬度信息傳回服務器,以便以後使用根據大小信息動態更新頁面以進行AJAX調用。

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

這是一個不使用任何庫的smple 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"; 
?>