#javascript #php #json #timezone #client-side
#javascript #php #json #Часовой пояс #на стороне клиента
Вопрос:
В настоящее время пишу приложение, которое требует, чтобы я узнал некоторую информацию о браузере клиента (например, GetTimeZoneOffeset, ширину и высоту экрана, глубину цвета, если включены JS и Java).
Мне нужна эта информация, отображаемая в виде данных JSON в файле PHP. Каков наилучший способ сделать это?
<?php
session_start();
if (isset($_POST['width'])) {
$_SESSION['screen_size'] = array();
$_SESSION['screen_size']['width'] = intval($_POST['width']);
$_SESSION['screen_size']['height'] = intval($_POST['height']);
}
if (!isset($_SESSION['screen_size'])) {
?>
<html>
<head>
<script>
function getSize() {
document.getElementById('inp_width').value = screen.width;
document.getElementById('inp_height').value = screen.height;
document.getElementById('form_size').submit();
}
</script>
<!-- <script>
function myFunction() {
var d = new Date().getTimezoneOffset();
document.getElementById("demo").innerHTML = d;
}
</script> -->
</head>
<body onload='getSize()'>
<form method='post' id='form_size'>
<input type='hidden' name='width' id='inp_width' />
<input type='hidden' name='height' id='inp_height' />
</form>
</body>
</html>
<?php
} else {
print_r($_SESSION['screen_size']);
}
// echo '<pre>' , var_dump($_SERVER) , '</pre>';
$lang = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
$acceptHeader = $_SERVER['HTTP_ACCEPT'];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$shopperUrl = $_SERVER['SERVER_NAME'];
echo 'Browser Languge: ';
print_r($lang);
echo '' . PHP_EOL;
echo 'Accept Header: ';
print_r($acceptHeader);
echo '' . PHP_EOL;
echo 'User Agent: ';
print_r($userAgent);
echo '' . PHP_EOL;
echo 'Shopper Result Url ';
print_r($shopperUrl);
echo '' . PHP_EOL;
В настоящее время у меня есть приведенный выше код, но я считаю, что я иду по неправильному пути.
Комментарии:
1. Вам нужен AJAX для передачи значений от клиента к серверу. Это лучшее, что я могу предложить из скудной информации, которой вы поделились. Возможно, вы захотите подробнее ответить на свой вопрос, добавив некоторую информацию о том, как и почему эти данные будут использоваться.
2. «Лучший способ» будет зависеть от многих вещей, о которых вы ничего не рассказывали. Что вы пробовали до сих пор, и где вы застряли?
3. Привет обоим, извиняюсь за это — я относительно новичок в разработке в целом. У меня есть код, который в настоящее время находится в сообщении, но я считаю, что должен быть более эффективный способ сделать то, что мне нужно. Некоторые данные я могу довольно легко получить с помощью PHP, но я считаю, что если я соберу все необходимые мне данные с помощью Javascript и / или jQuery, это даст мне более чистый код, я просто не могу найти способ сделать это.