| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > анализ открытого окна |
| Автор: wildrabbit 18.10.2006, 16:02 | ||
| Вопрос в следующем: есть код:
открывается новое окно, в нем грузится сайт. надо анализировать загрузилось что-то или нет. делаю так, но алерт всегда всплывает, а надо чтобы только после того как что-то загрузилось. как понять, что в новом окне у нас сайт загрузился? Ваще хочу чтобы по title следить за состоянием сайта, т.е. если в title содержится слово error, то сделать какие-нибудь действия... вот так. |
| Автор: griker 18.10.2006, 16:25 | ||
Поставь на открываемую страницу в body
|
| Автор: GIK 18.10.2006, 16:27 | ||
Это команда на вывод alerta при загрузке. http://forum.vingrad.ru/index.php?showtopic=102260&unread=1&hl=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0,and,%D0%BE%D0%BA%D0%BD%D0%B0 |
| Автор: wildrabbit 19.10.2006, 17:00 |
| наверное я плохо выразил свою мысль. Моя задача состоит в том чтобы 1) открыть новое окно с указанным адресом (адрес выбирается из списка) 2) ждать пока сайт загрузится 3) если в title открытого окна появилось слово error, то закрыть окно и перейти к следующему по списку 4) если сайт загрузился полностью и нет слова еррор, то не закрывать это окно |
| Автор: vasac 19.10.2006, 18:19 | ||
| wildrabbit, адреса пренадлежат тому же домену, что и изначальная страница? Если нет, то ты не можешь иметь к ним доступ. Если твоему, то так:
алерт выскочит в родительском окне. mywin.alert( "Загрузилось" ); — так в дочернем |
| Автор: wildrabbit 20.10.2006, 14:51 | ||
в том то и дело, что адреса разные, но заранее определенные.
так ваще не работает ничего. и имхо и не должно работать. дело в том, что когда я делаю так как в моем первом примере, то не дождавшись загрузки list.ru сразу же вылетает alert. а мне надо чтобы дождаться когда загрузится, проанализировать что написано в тайтле нового окна, и потом сказать, что "все мол загрузилось" или наоборот "нихрена не грузится. иди, звони, проверяй у хостера в чем дело". вот такая задача. задача вобщем тривиальная, но что-то никто не может ее решить, а никого из гуру такие задачи не интересуют. мелкая цель наверное |
| Автор: AKS 20.10.2006, 15:19 | ||||
wildrabbit, У Вас в IE наверно не работает такое:
Это должно работать в DOM-браузерах. А для IE напишите отдельную веточку:
|
| Автор: wildrabbit 20.10.2006, 15:31 | ||
| хм. странно. нет, у меня не ИЕ, у меня Опера.
ваще ничего на дает. т.е. нету алерта, не вылетает он ваще. а у Вас как это работает? у Вас после того как новое окно открылось, в нем загрузился сайт, только после этого вылетает алерт? а у Вас какой браузер? |
| Автор: vasac 20.10.2006, 15:36 |
| wildrabbit, что ж, родной, если тебя не устраивают ответы можешь подождать гуру. Может они таки сблаговалят прийти и написать тоже самое — "нельзя получить доступ к странице другого домена". У меня на одном домене alert вылетает на новой странице в FF и opera9. В IE, да, действительно это не работает. А почему в твоем изначальном примере алерт выскакивает до загрузки я думаю ты сможешь понять сам, если немного подумаешь над ним. |
| Автор: AKS 20.10.2006, 15:41 |
| wildrabbit, Вы знаете, я поторопился, как всегда, извиняюсь. Я проверял в IE, Opera'х (8+), Gecko'бразах, но проверил лишь "свои" страницы. С чужими, конечно же, работать не будет - нету к ним доступа, а Вы как-раз для чужих хотели бы... |
| Автор: wildrabbit 20.10.2006, 16:23 |
| vasac, понял, только сначала подумал, что Вы что-то другое имели ввиду. AKS, спасибо. Теперь я понял, что с помощью javascript такое не сотворить. А с помощью пхп или чего-то еще можно? |
| Автор: Nicholas_S 20.10.2006, 17:06 | ||
| wildrabbit, есть одно решение, хотя использовать его или нет - смотри сам. Из родительского окна создаешь новое с помощью window.open, например: var newWin = window.open('myURL', '_blank'); Где myURL - адрес на твою страницу со следующим содержанием:
Т.е. по сути страница подменяется на твою, та, в свою очередь, загружает "чужой" URL. Решение не есть самый гуд (например, надо учесть еще изменение заголовка окна (TITLE) на тот, который имеется у "чужой" страницы), но с пивом потянет А менять контент "чужых" страниц, как правильно сказал vasac, недопустимо. Сделано это в браузерах из-за соображений безопасности. |