Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.01.2009, 18:22
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Вот такой код должен работать точно:
var newWind = window.open("http://javascript.ru/");
newWind.onload = function () {
  newWind.location = newWind.document.getElementsByTagName("A")[3];
  };


Только запускать его надо с главной страницы, а не страницы форума - потому что даже в пределах одного домена, страницы с субдоменов имеют только одностороннюю связь.
Ответить с цитированием
  #12 (permalink)  
Старый 06.01.2009, 18:29
Новичок на форуме
Отправить личное сообщение для Freak Посмотреть профиль Найти все сообщения от Freak
 
Регистрация: 06.01.2009
Сообщений: 8

ну помойму уже не логично, т.к. док уже загрузился, а я только потом на окно вешаю онлоад...
да и потом, ну конечно же я запускал с главной страницы

запуск этого скрипта открыл новое окно с http://javascript.ru/
в исходном окне он выдал мне строку
function () { newWind.location = newWind.document.getElementsByTagName("A")[3]; }
и усе...
Ответить с цитированием
  #13 (permalink)  
Старый 06.01.2009, 18:39
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Freak,
То, что выдает браузер при выполнении JavaScript из адресной строки - другой вопрос, там есть свои особенности.
Какая вообще суть вашей задачи?

Сообщение от Freak
ну помойму уже не логично, т.к. док уже загрузился, а я только потом на окно вешаю онлоад...
Окно откроется только тогда, когда выполнение кода покинет ближайший контекст выполнения, так что в вашем случае обработчик onload будет назначен до начала загрузки документа.
Ответить с цитированием
  #14 (permalink)  
Старый 06.01.2009, 19:02
Новичок на форуме
Отправить личное сообщение для Freak Посмотреть профиль Найти все сообщения от Freak
 
Регистрация: 06.01.2009
Сообщений: 8

ну в принципе, суть написать строку на яваскрипт, вставив которую в адресную строку, с нужного домена, я бы смог открыть окно и в нем другую стр этого же домена, в этом доке найти ссылку и перейти по ней в этом, новосозданном окне
Ответить с цитированием
  #15 (permalink)  
Старый 18.02.2009, 01:44
Новичок на форуме
Отправить личное сообщение для integrable Посмотреть профиль Найти все сообщения от integrable
 
Регистрация: 13.01.2009
Сообщений: 3

У меня похожая проблема: событие onLoad возникает до того, как страница загрузилась полностью, и нельзя выполнять какие-либо действия с элементами дочернего окна.

наприммер
new = open("www.mysite.ru", "");

function dosomething()
{
    alert('start');
    new.document.getElementById('element').value = "text";
    alert('finish');
}


new.onload = dosomething();


В результате увидим тока 'start', текста елемента 'елемент' не изменится, надпись 'finish' не появится...

Можно конечно поставить задержку в главном скрипте дабы подождать пока загрузится дочернее, но это не решение проблемы..

Может кто-то знает нормальное решение проблемы?

Последний раз редактировалось integrable, 18.02.2009 в 02:03.
Ответить с цитированием
  #16 (permalink)  
Старый 18.02.2009, 02:05
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

integrable,
Вы должны в качестве обработчика установить саму функцию, а не результат её выполнения:
new.onload = dosomething; // Без скобок вызова


Кстати, "new" является зарезервированным словом для языка JavaScript.
Крайне не рекомендуется называть так переменные или функции.
Ответить с цитированием
  #17 (permalink)  
Старый 18.02.2009, 02:57
Новичок на форуме
Отправить личное сообщение для integrable Посмотреть профиль Найти все сообщения от integrable
 
Регистрация: 13.01.2009
Сообщений: 3

спс большое, а то я уже совсем запутался...

и еще вопрос, если не затруднит:

Для сайта с чужого домена с родительского окна, как в предыдущем примере, onload поменять нельзя, я так полагаю.
А нужно как-то проследить момент, когда этот "чужой" сайт загрузился в дочернем окне.. Это возможно как-то???
Ответить с цитированием
  #18 (permalink)  
Старый 18.02.2009, 03:05
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

integrable,
Нет, не получится.
Ответить с цитированием
  #19 (permalink)  
Старый 18.02.2009, 03:14
Новичок на форуме
Отправить личное сообщение для integrable Посмотреть профиль Найти все сообщения от integrable
 
Регистрация: 13.01.2009
Сообщений: 3

Андрей Параничев
спс за помощь!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не срабатывает innerHTML? БВИ Internet Explorer 1 02.01.2009 19:00
$("#").hide() не срабатывает Anthony jQuery 4 12.12.2008 19:04
Не срабатывает onkeyup afandi Events/DOM/Window 3 08.12.2008 20:33
Не срабатывает функция ? Почему? dummer jQuery 3 05.11.2008 00:03
Помогите новичку - onChange() не срабатывает serp Общие вопросы Javascript 2 01.08.2008 14:47