окно echo Javascript.местоположение.href не работает
У меня есть функция, которая повторяет javascript для перехода на другую страницу. Во время навигации
echo 'window.location.href="'.$url.'";';
Не работает и просто выводит его на экран.
"window.location.href="./index.php";
Я использую свою функцию таким образом: redirect("./index.php");
Моя функция php выглядит следующим образом
function redirect($url)
{
if (!headers_sent())
{
header('Location: '.$url);
exit;
}
else
{
echo '<script type="text/javascript">';
echo 'window.location.href="'.$url.'";';
echo '</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
echo '</noscript>'; exit;
}
}
5
3 answers
Ваш браузер обрабатывает ответ как открытый текст.
Добавьте к вашему ответу Content-Type: text/html\
n плюс оберните свой контент в тег <html></html>
.
4
Author: Peter Aron Zentai, 2012-04-11 18:52:34
Почему бы просто не использовать буферизацию вывода и вообще не иметь дело с перенаправлениями JavaScript или meta?
<?php
// Top of your page
ob_start();
// Code goes here
// Redirect
if ($redirect_is_necessary)
{
header('Location: '.$url);
exit;
}
// Rest of page goes here
// Bottom of page
ob_end_flush();
?>
1
Author: John Conde, 2012-04-11 19:02:45
Попробуйте этот способ.
<?php
$yourURL="http://www.stackoverflow.com";
echo ("<script>location.href='$yourURL'</script>");
?>
0
Author: Shankar Damodaran, 2013-01-16 18:53:34