Консультация № 63803
23.11.2006, 04:07
0.00 руб.
0 3 2
Здравствуйте!

Никак не могу найти идиальное решение.
нужно js на стороне клиента:
открыть следующую страницу по заданному url, через 3 сек после открытия страницы со скриптом.
Причем скрипт должен быть в нутри контейнера <body>,
а если он оказался во фрейме, то открытся в основном окне.

Но у меня возникают разные ошибки. Вероятно нужно проверять, где страница во фрейме или в основном окне. И не знаю вообще как указать время.

И именно на стороне клиента, хотя я легко могу устроить это со стороны сервера.


Приложение:
parent.frames[0].location = "http://www.einfodrom.net/index.php?topic=start";илиself.location = "http://www.einfodrom.net/index.php?topic=start";

Обсуждение

Неизвестный
23.11.2006, 08:46
общий
это ответ
Доброе время суток, Артём Талипов

вероятно решением будет одно - открывать в любом случае в самом топовом родителе, т.е. :

см аттач

с уважением, удачи


Приложение:
top.location.replace(‘http://ya.ru‘);всегда откроет эту страницу в самом топовом предке, потому как объект top хранит ссылку на самое раннее(первое) родительское окновремя можно указать так:function TTimer(){top.location.replace(‘http://ya.ru‘);}setInterval("TTimer", 3000);//почснение: через три секунды в самом верхнем предке откроется указанная страница
Неизвестный
23.11.2006, 09:10
общий
Уважаемая, dianacode. Не работает ваш вариант. Правда и ошибок не показывает. Сейчас ещё поковыряю сей код, может чо пойму.
Неизвестный
23.11.2006, 09:20
общий
это ответ
Здравствуйте, Артём Талипов!
Не уверен, что правильно понял вопрос, но если Вам нужно, чтобы страница через 3 секунды после открытия(во фрейме или нет), перенаправляла главное окно, используйте window.top и SetTimeout


Приложение:
<body onload="setTimeout(‘top.location=\‘http://www.einfodrom.net/index.php?topic=start\‘‘,3000)">WAIT FOR 3 SECONDS TO START</body> или внутри контейнера BODY<body><script>window.onload=function(){setTimeout("top.location=‘http://www.einfodrom.net/index.php?topic=start‘",3000)}</script>WAIT FOR 3 SECONDS TO START</body>
Форма ответа