Javascript текущий час, чтобы использовать конкретную таблицу стилей? - PullRequest
0 голосов
/ 03 мая 2011

Я использую следующий код, чтобы узнать текущий час клиента и узнать, будет ли он AM или PM:

<script type="text/javascript">
//get client time
var d = new Date();
if(d.getHours() >= 06 && d.getHours() <= 18){
    var dayStatus = "day";
    document.write("day");
}else{
    var dayStatus = "night";
    document.write("night");
}
</script>

Я выяснил, как узнать, является ли AM или PM для клиента, ноЯ хочу использовать разные таблицы стилей CSS, будь то день или ночь.Как я мог это сделать?

Это то, что я получил в своем html-заголовке, который, очевидно, не работает, просто нужно знать, как заставить его работать:

<script type="text/javascript">
if(dayStatus = "day"){
    <link href="includes/style.css" rel="stylesheet" type="text/css" />
}else{
    <link href="includes/style2.css" rel="stylesheet" type="text/css" />
}
</script>

Ответы [ 3 ]

2 голосов
/ 03 мая 2011

Вы не можете изменить сеанс (на стороне сервера), используя JavaScript.Вам действительно нужно сделать это на стороне сервера.Если вам нужно время клиентов, вам нужно отправить его на сервер с помощью AJAX.Однако есть два более простых способа сделать это:

На стороне клиента:

if (isDay) {
    document.write('<link type="text/css" rel="stylesheet" href="url/to/day.css" />');
} else {
    document.write('<link type="text/css" rel="stylesheet" href="url/to/night.css" />');
}

На стороне сервера:

if ($isDay) {
    echo '<link type="text/css" rel="stylesheet" href="url/to/day.css" />';
} else {
    echo '<link type="text/css" rel="stylesheet" href="url/to/night.css" />';
}
1 голос
/ 03 мая 2011

Это возможно, будут ли ваши пользователи находиться на одной странице в течение длительного периода времени или будут перемещаться?Если они перемещаются, просто используйте функцию PHP, которая будет выполняться при загрузке страницы, а затем определите, следует ли создать новый сеанс.Или, если нет, тогда запустите функцию Javascript на таймере, который отправляет запрос GET в скрипт php, который затем определяет, следует ли создать новый сеанс.

1 голос
/ 03 мая 2011

Почему бы вам не забыть вычисление даты на клиенте и вместо этого (при загрузке страницы) сделать AJAX-вызов скрипта PHP, который определит, стоит ли запускать сеанс или нет?

...