Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2008, 11:03
НикНик
 
Сообщений: n/a

onload, window.open ...
JavaScript не знаю, посему - второй день мучаюсь над слудующей задачей...

PHP-скрипт отдаёт в браузер страницу без контента, но с JS-скриптом для открытия двух новых окон (в каждом свой URL). Тут всё чудно работает, никаких проблем.
Код:
<html>
<head>
<script>
function newWindow() {
   window.open("http://site1.com/foo1.php");
   window.open("http://site2.com/foo2.php");
}
</script>
</head>
<body onload="newWindow()">
</body>
</html>
Каждый из указанных выше PHP-скриптов работает какое-то неопределённое время, т.е. до его окончательного завершения - окно находится в стадии загрузки.

Мне нужно:
1. Если foo1.php закончил свою работу - закрыть это окно.
2. Если foo2.php закончил свою работу - закрыть это окно и запустить другой PHP-скрипт.

Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2008, 18:57
Новичок на форуме
Отправить личное сообщение для Puta Посмотреть профиль Найти все сообщения от Puta
 
Регистрация: 17.10.2008
Сообщений: 2

В твоем случае лучше использовать XMLHttpRequest.
Окошки не будут открываться.
И callback на загрузку документа повесишь чтобы
Цитата:
запустить другой PHP-скрипт
Ответить с цитированием
  #3 (permalink)  
Старый 17.10.2008, 20:57
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Брр. Зачем открывать и сразу закрывать?
Ответить с цитированием
  #4 (permalink)  
Старый 17.10.2008, 23:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Есть куча более простых способов запустить скрипт на сервере. Для этого достаточно сделать туда запрос. Например,
new Image().src = 'http://site1.com/foo1.php';
Ответить с цитированием
  #5 (permalink)  
Старый 22.10.2008, 11:24
НикНик
 
Сообщений: n/a

В общем чего я только не перепробовал (ваши советы есно тоже, на первом месте) - в итоге задуманное не реализовал. Ну никак я не могу понять, как JS-скрипту увидеть, что страница полностью загружена и выполнить какое-то действие на это событие

А сильно углубляться в JS у меня сейчас нет возможности, нужно только вышеописанное реализовать и всё.

Но всё-равно спасибо.

ЗЫ: Уж и гуглил и яндексил, но так и не нашёл ни одного примера, похожего на мою задачу...
Ответить с цитированием
  #6 (permalink)  
Старый 22.10.2008, 15:10
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
new Image().src = 'http://site1.com/foo1.php';
дорабатываем до вида
qwe=new Image()
qwe.src = 'http://site1.com/foo1.php';
qwe.onload=function(){alert('Ку-ку');}

сработает только если по сссылке будет реальная картинка. в случае чужих страниц увы, и ах, обработать событие не получится
__________________________________________________ _________________________________
попробовал на Iframe
iframe id="frame_" src="http://ya.ru/" height="800" width="800" >
</iframe>
<script type="text/javascript">


	qwe=document.getElementById('frame_');
	//qwe.src = 'http://ya.ru/'
qwe.onload=function(){
alert('Ку-ку');
}
</script>

работает в опере, и Осле. в лисе не хочет отображать, но событие ВРОДЕ от рабатывает.
проведите серию опытов

Последний раз редактировалось Gvozd, 22.10.2008 в 19:50.
Ответить с цитированием
  #7 (permalink)  
Старый 22.10.2008, 16:22
НикНик
 
Сообщений: n/a

Спасибо Gvozd.
Код действительно рабочий (и так и сяк), но только применительно к 'IFRAME'.

Посему, у меня не получается прикрутить 'getElementById' к 'window.open'. Как первому указать имя второго?
Ответить с цитированием
  #8 (permalink)  
Старый 22.10.2008, 17:35
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Gvozd
qwe=new Image().src = 'http://site1.com/foo1.php';
После этого qwe будет содержать 'http://site1.com/foo1.php', а не ссылку на Image.
Ответить с цитированием
  #9 (permalink)  
Старый 22.10.2008, 19:53
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
Сообщение от Gvozd
qwe=new Image().src = 'http://site1.com/foo1.php';
После этого qwe будет содержать 'http://site1.com/foo1.php', а не ссылку на Image.
я в курсе.просто я на автомате скопировал мз вашего поста этот кусок, для вставки в сообщение
НикНик, я поравил кусок с изображением, порпобуйте
Ответить с цитированием
  #10 (permalink)  
Старый 23.10.2008, 08:26
НикНик
 
Сообщений: n/a

Код:
<script type="text/javascript">
   qwe = new Image();
   qwe.src = 'http://google.com';
   qwe.onload = function() {
      alert('Страница полностью загружена!');
   }
</script>
Чего-то не работает. Грузит страницу в фоне (это видно) и всё, пустой браузер.

Я уже не выдержал и перевёл всё на 'IFRAME'. Ещё раз спасибо за совет относительно этого тэга. Единственное никак не побороть отступы по краям в 5мм (всё есно сделано со всеми нужными для этого параметрами тэга 'IFRAME').
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование window.open() для позиционирования окна в середине экрана marat-chessman Events/DOM/Window 13 14.08.2011 20:20
window.open на onload Dmitry Общие вопросы Javascript 3 09.10.2008 21:32
Mozilla, не работает onLoad Zeal Firefox/Mozilla 3 18.09.2008 17:52
IE7 window.open vzzvzz Общие вопросы Javascript 2 29.05.2008 09:20
Взаимодействие окон (window.open) Phoenix Общие вопросы Javascript 3 08.04.2008 19:22