Делаю так но не получаеться на мета:
<script type="text/javascript">
location.replace("index.php?s=vxod");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=index.php?s=vxod">
</noscript>
Спустя 17 минут, 40 секунд (20.03.2011 - 00:01) Trianon написал(а):
А зачем поле заголовка Refresh заталкивать метой, если его можно задать напрямую, php-средствами (т.е. функцией header()) ?
Спустя 2 минуты, 40 секунд (20.03.2011 - 00:03) VELIK505 написал(а):
<script type="text/javascript">
location.replace("index.php?s=vxod");
</script>
<noscript><?php header("Location: index.php?s=vxod");?></noscript>
Если делаю то если JAVA включен в браузере всё равно на php редирект идёт!
А мне надо чтобы ЕСли включен JS то на Js редирект если нет то пускай на php будет
Спустя 1 минута, 7 секунд (20.03.2011 - 00:04) neadekvat написал(а):
Чем вызвано такое желание сделать переадресацию именно на js?
Цитата (VELIK505 @ 20.03.2011 - 00:03) |
<noscript><?php header("Location: index.php?s=vxod");?></noscript> |
А подумать? Заголовок когда должен отправляться то?
Спустя 4 минуты, 18 секунд (20.03.2011 - 00:09) VELIK505 написал(а):
Когда не включен JS
Спустя 1 минута, 26 секунд (20.03.2011 - 00:10) neadekvat написал(а):
*глубоко вздохнув*
Это я понял. Вы мне скажите лучше правило, условие, непреодолимое препятствие, событие, которое ну никак не должно случится до того, как вы отправите заголовок.
Это я понял. Вы мне скажите лучше правило, условие, непреодолимое препятствие, событие, которое ну никак не должно случится до того, как вы отправите заголовок.
Спустя 2 минуты, 1 секунда (20.03.2011 - 00:12) VELIK505 написал(а):
Я не понял вашего вопроса. Ну вообщем страницы только которые для зарегеных типов. Вот может чтото прояснит:
<?include('pod/bashka.php');
session_start();
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("index.php?s=vxod");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=index.php?s=vxod">
</noscript>
<?
exit();
}
?>
Спустя 40 секунд (20.03.2011 - 00:13) sergeiss написал(а):
VELIK505 - ты все-таки корректнее используй терминологию! Если речь идет о Javascript, то не используй слово JAVA. Потому что ты рискуешь получить неверный ответ. Да и в любом случае "ухо режет" от такого дисбаланса.
Ответ на твой вопрос: если JS не включен, то ты не сделаешь ничего активного, никаких переадресаций. Только если выведешь ссылку (в тэге noscript) с подписью о том, что отключен JS и надо кликнуть тут.
Ответ на твой вопрос: если JS не включен, то ты не сделаешь ничего активного, никаких переадресаций. Только если выведешь ссылку (в тэге noscript) с подписью о том, что отключен JS и надо кликнуть тут.
Спустя 23 секунды (20.03.2011 - 00:13) neadekvat написал(а):
<?php
include('pod/bashka.php');
session_start();
if ( ! isset($_SESSION["username"], $_SESSION["password"])) {
header("Location: index.php?s=vxod");
exit();
}
Спустя 10 минут, 16 секунд (20.03.2011 - 00:23) VELIK505 написал(а):
Цитата (sergeiss @ 19.03.2011 - 21:13) |
VELIK505 - ты все-таки корректнее используй терминологию! Если речь идет о Javascript, то не используй слово JAVA. Потому что ты рискуешь получить неверный ответ. Да и в любом случае "ухо режет" от такого дисбаланса. Ответ на твой вопрос: если JS не включен, то ты не сделаешь ничего активного, никаких переадресаций. Только если выведешь ссылку (в тэге noscript) с подписью о том, что отключен JS и надо кликнуть тут. |
Вот что я ожидал услышать. Благодарствую!
Спустя 1 час, 26 минут, 31 секунда (20.03.2011 - 01:50) sergeiss написал(а):
Впрочем... На самом деле можно сделать :) Только я не уверен, что это будет именно то, что тебе нужно. Но смотри все равно.
Скрипт 1, который является "лакмусовой бумажкой". Назовем его no_js_test.php
Логика простая. Устанавливаем редирект с отсрочкой на 1 секунду на 2-й скрипт. И далее загружаем весь скрипт. Если у нас JS включен, то по окончании загрузки сработает функция на JS, которая изменит значение скрытого поля в форме и тут же сделает программный сабмит формы. Если же JS выключен, то этого не произойдёт. И просто через 1 секунду будет сделан редирект на ту же страницу, что перешли бы из формы.
Скрипт 2, называемый no_js_second.php, на который попадаем в любом случае. Он выводит инфо о том, включен ли JS.
Вызываем no_js_test.php.... И максимум через 1 секунду у нас есть инфо о том, включен ли JS :)
Скрипт 1, который является "лакмусовой бумажкой". Назовем его no_js_test.php
Логика простая. Устанавливаем редирект с отсрочкой на 1 секунду на 2-й скрипт. И далее загружаем весь скрипт. Если у нас JS включен, то по окончании загрузки сработает функция на JS, которая изменит значение скрытого поля в форме и тут же сделает программный сабмит формы. Если же JS выключен, то этого не произойдёт. И просто через 1 секунду будет сделан редирект на ту же страницу, что перешли бы из формы.
<?php
header("Refresh: 1, URL=no_js_second.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=windows-1251" />
<title>Text JS (on or off)</title>
</head>
<script language="javascript" type="text/javascript">
function tst()
{
document.getElementById( 'js_test' ).value='on';
document.getElementById( 'js_test_form' ).submit();
}
</script>
<body onLoad="tst()">
<form id="js_test_form" action="no_js_second.php" method="post">
<input type="hidden" name="js_test" id="js_test" value="off">
</form>
</body>
</html>
Скрипт 2, называемый no_js_second.php, на который попадаем в любом случае. Он выводит инфо о том, включен ли JS.
<!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=windows-1251" />
<title>JS test: second part</title>
</head>
<body>
<?php
if( isset( $_POST['js_test'] ) )
{
if( $_POST['js_test'] == 'on' )
echo 'JS is ON!<br>';
else
echo 'JS is OFF!<br>';
}
?>
</body>
</html>
Вызываем no_js_test.php.... И максимум через 1 секунду у нас есть инфо о том, включен ли JS :)
Спустя 8 часов, 27 минут, 3 секунды (20.03.2011 - 10:17) Trianon написал(а):
sergeiss
вот только onLoad = 'document.location = no_js_test.php?js_test=on;' было бы несколько компактнее, я полагаю.
вот только onLoad = 'document.location = no_js_test.php?js_test=on;' было бы несколько компактнее, я полагаю.
Спустя 9 часов, 21 минута, 20 секунд (20.03.2011 - 19:38) sergeiss написал(а):
Trianon - Ну... Наверное да
Надеюсь, ТС поймет, что надо будет добавить/удалить/поменять, чтобы правильно использовать твой код вместо части моего кода.
Надеюсь, ТС поймет, что надо будет добавить/удалить/поменять, чтобы правильно использовать твой код вместо части моего кода.