Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу сделать редирект в JS (https://javascript.ru/forum/misc/1836-ne-mogu-sdelat-redirekt-v-js.html)

alpar_andr 23.09.2008 16:21

Не могу сделать редирект в JS
 
Весем привет! Есть проблема. У меня есть следующий код

var bob=window.open("",'_blank');
bob.location="/users/view/"+id;

он работает везде кроме Safari. Если кто сталкивался с такой проблеммой то может подскажите?

ZoNT 23.09.2008 16:31

Всё там работает. Просто сафари по умолчанию не даёт открывать окна джаваскриптом.

alpar_andr 23.09.2008 16:37

Он мне просто выдает ошибку:(

ZoNT 23.09.2008 16:56

выдаёт ошибку потому что:
var bob=window.open("",'_blank');

создаём окно, Сафари его не даёт создать скриптом -> bob = undefined
bob.location="/users/view/"+id;

у undefined нет свойтва location
:)

alpar_andr 23.09.2008 17:33

а какк же тогда решить этот вопрос?

ZoNT 23.09.2008 17:42

var bob=window.open("",'_blank');
if (bob) bob.location="/users/view/"+id;

alpar_andr 23.09.2008 18:06

Хм, дело в том что мне надо отсылать открывать окно всегда и поэтому такой подход не совсем удачен, потому как всеравно он не решает проблемы Safari. Но и на этом Большое Спасибо

Андрей Параничев 23.09.2008 20:29

alpar_andr,
Ну решить "проблему" Safari, может только сам Safari. Так что нужно проверять возможность открытия окна и в случае если открыть невозможно выдавать сообщение о том, чтоб пользователь вручную разрешил всплывающие окна в своем браузере. Так, например, сделано на gmail.

SunnyDay 24.09.2008 02:27

Если тедбе нужно не новое окно, а редирект, то лучше вместо window.open написать типо
document.write("<meta http-equiv='Refresh' content='0; url=pam.html' >");
ну или
location.href="pampam.html";

alpar_andr 25.09.2008 21:50

вобщем у меня есть чат в котором у пользователя есть возможность на каждом члене его группы просмотреть профиль этого пользователя. Я это реализовал, но увы ссылка работает только в текущем окне с помощью location.href="profile.php"; а надо чтобы открылась в другом окне. тот код который я указал выше работает везде кроме safari и не могу найти как это решить :(


Часовой пояс GMT +3, время: 12:23.