редирект в сердце кода как правильно?

gr1nader
На сайте с 26.10.2012
Offline
20
719

есть такая вот байда

var convertSuccessMsg = (retVals[2] == 1) ? '<p>Success!</p><META http-equiv="refresh" content="0;URL=<?php echo $_SERVER['PHP_SELF']; ?>?mp3=' + encodeURI(songFile) + '">' : '<p>Error generating MP3 file!</p>';

в сердце кода понятно что рефреш в середине не правильно но другого решения не нашел работает, но не на всех браузерах как сделать правильно подскажите плиз в JS не силен.

на этом месте

<META http-equiv="refresh" content="0;URL=<?php echo $_SERVER['PHP_SELF']; ?>?mp3=' + encodeURI(songFile) + '">
идет ссылка но мне это не подходит и нужен именно редирект
OK
UNIT-IS
На сайте с 19.10.2012
Offline
48
#1

Ваш вопрос не совсем понятен.

Что именно вам не подходит? Эмуляция редиректа с помощью http-equiv="refresh"?

Может так?

<?php echo '<noscript><META http-equiv="refresh" content="0;URL='.$_SERVER['PHP_SELF'].'"></noscript>'; ?>

Ну или отправьте на все четыре стороны вставив:

<?php header("Location: http://example.com"); ?>

gr1nader
На сайте с 26.10.2012
Offline
20
#2

UNIT-IS, в общем хтмл данная процедура идет в посередине хтмл а как я понимаю должна идти в шапке, это все внутри уже какогото js работает только в хроме

UNIT-IS
На сайте с 19.10.2012
Offline
48
#3
gr1nader:
UNIT-IS, в общем хтмл данная процедура идет в посередине хтмл а как я понимаю должна идти в шапке

Вовсе не обязательно. В любом случае, хоть в шапке или нет, насколько я знаю, этот метод не является валидным. А по поводу функциональности, посреди страницы тоже работает.

IL
На сайте с 20.04.2007
Offline
435
#4

Можно в начале файла (до вывода в браузер) добавить

<?php 
ob_start();

А редиректить при помощи header()

Костыль, но на случай "чтоб не переписывать" - вполне пойдёт.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
gr1nader
На сайте с 26.10.2012
Offline
20
#5

ivan-lev, пробовал не пошло, как его внедрить сюда: var convertSuccessMsg = (retVals[2] == 1) ? '<p>Success!</p><META http-equiv="refresh" content="0;URL=<?php echo $_SERVER['PHP_SELF']; ?>?mp3=' + encodeURI(songFile) + '">' : '<p>Error generating MP3 file!</p>'; вместо <META.....refresh.....> пробовал не сработало чтото

gr1nader
На сайте с 26.10.2012
Offline
20
#6

Проблему так и не смог решить помогите интегрировать этот рефреш редирект

var convertSuccessMsg = (retVals[2] == 1) ? '<p>Success!</p><META http-equiv="refresh" content="0;URL=<?php echo $_SERVER['PHP_SELF']; ?>?mp3=' + encodeURI(songFile) + '">' : '<p>Error generating MP3 file!</p>';
в
header()
Пожалуйста!!

PS: encodeURI(songFile) это ЖС и не получается у меня все это дело собрать должным образом.

---------- Добавлено 22.06.2013 в 15:37 ----------

var convertSuccessMsg = (retVals[2] == 1) ? '<p>Success!</p>' + self.location= + '"<?php echo $_SERVER['PHP_SELF']; ?>?mp3=' + encodeURI(songFile) + '"' : '<p>Error generating MP3 file!</p>';
так тоже не работает

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий