[英]Data transfer from JavaScript to PHP
如何將瀏覽器的高度和寬度設置為 PHP? 像從 JavaScript 到 PHP 的數據傳輸? 我認為使用innerHeight
和InnerWidth
。
(我只需要向用戶顯示小圖片,如果他的屏幕尺寸小,如果大則大,如果沒有關於屏幕尺寸的數據,我做不到)
我有這樣的:
<!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>
它不起作用。 我究竟做錯了什么?
您必須從 JavaScript 對 PHP 腳本進行 AJAX 調用。 該 PHP 腳本將保存當前會話中的屏幕分辨率(為此您需要使用會話)。 稍后請求的 PHP 腳本可以訪問 JavaScript 代碼段傳遞的屏幕分辨率。
如果您不知道 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>
或者您也可以使用表單向服務器發送信息。
這是一個不使用任何庫的簡單 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";
?>
PHP 在您的Web 服務器上運行。
PHP 處理器輸出 HTML,該 HTML 被傳輸到客戶端瀏覽器。
- 至此 PHP完成。 它不能做任何其他事情。
瀏覽器現在解釋 HTML 頁面並在客戶端機器上執行 javascript。
Javascript無法將值傳遞給 PHP,因為
正如其他人所提到的,此時您可以做的最好的事情是將高度/寬度信息傳遞回服務器以供稍后使用,或者進行 AJAX 調用以根據大小信息動態更新頁面。
您可以獲得屏幕分辨率,但使用 JavaScript 而不是PHP。 PHP 是服務器端的。 但是,您可以使用 ajax 或任何其他方法讓 JavaScript 將值傳遞給 PHP。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.