Автор Тема: Inner + window.open = грабли :(  (Прочитано 3286 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mr_Max

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Inner + window.open = грабли :(
« : 26 Июня 2004, 20:36:38 »
Доброе время суток.

Чтобы зазря не напрягать пользоватей (равно как и сервер и канал) у меня возникла идея генерить

принт-версию новостей обычным  джаваскриптом...

Но наступил я на грабли

Пробую делать так

function print_news()
    {
    nw = window.open(\'/print.php\');
    nw.document.getElementById("news").innerHTML = \'22222\';
    }

то ничего не выходит... выдат ошибку

Eсли вышенаписанный изменить немного

function print_news()
    {
    nw = window.open(\'/print.php\');
    nw.document.write(\'
Текст для замены
\');

    nw.document.getElementById("news").innerHTML = \'22222\';
    }

То всё рабайтен...
В принципе можно и так выкрутиться, дописать таким способом боди, оформление, но геморойно.

Можно конечно пойти и от обратного
В файле print.php дописать
news.innerHTML = window.opener.surce_news.innerHTML;
Тоже всё будет работать.

Только вот мне интересно почему не код не фурычит в первом случае?
Подскажите плз где ошибка, что не так, и что в таком случае делать?
Или так низззззззяяяяяя? :(( А хоцецца :)

Оффлайн Vladn

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://mod-site.net/ru/
Inner + window.open = грабли :(
« Ответ #1 : 28 Июня 2004, 00:21:42 »
Может быть, в print.php нет элемента с id \'News\'?
 - мои гостевушки MBook

Оффлайн Mr_Max

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Inner + window.open = грабли :(
« Ответ #2 : 28 Июня 2004, 10:32:04 »
>>Vladn
Есть
Прикол в том что если открывать страницу через file то рабайтен
имеется ввиду file://localhost/index.php
а если через http://localhost/index.php то нифига.

Как с этим бороться?

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Inner + window.open = грабли :(
« Ответ #3 : 28 Июня 2004, 12:35:25 »
Цитировать
Mr_Max:
если открывать страницу через file то рабайтен
...
а если через http://localhost/index.php то нифига.

Это значит, что у тебя дисковая подсистема на компе шустрая и загрузка файла в окно браузера непосредственно с диска происходит быстрее, чем если этот файл запрашивать через сервер.
Цитировать
Mr_Max:
>>Vladn
Есть
(имеется ввиду id news в новом окне)
В случае, когда окошко браузера открылось, но в него документ еще не загружен (потому, что запрос к серверу, ответ от сервера, время, одним словом) идентификатор открытого окна в дж-скрипте уже появился и в него поперла запись (следующая строка в скрипте), а нужного id еще не подгрузило.
Короче, или вводить задержку между этими строками или брать новости родительского окна запросом из потомка после подгрузки документа в него (по событию onload). Второе, ИМХО, корректней.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Mr_Max

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Inner + window.open = грабли :(
« Ответ #4 : 28 Июня 2004, 12:51:42 »
сенк всем за помощь :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28