Nekromancer Posted April 15, 2009 Report Share Posted April 15, 2009 Может браузеры на этом движке(тот что от apple) фигово работают с окнами, может я чёто не понимаю.. но вот такая конструкция никак не хочет работать (newWin=window.open('/new/win.htm', '', 'width=561, height=700, scrollbar=1, resizable=1');newWin.document.getElementById('Id').innerHTML = 'text';пробовал так:newWin=window.open('/new/win.htm', '', 'width=561, height=700, scrollbar=1, resizable=1');newWin.onload = function() { newWin.document.getElementById('Id').innerHTML = 'text';}тоже не работает..из всег работало только newWin.alert('Непонятно(с)');newWin.close();кто знает в чём проблемка? Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 Может браузеры на этом движке(тот что от apple) фигово работают с окнами, может я чёто не понимаю.. но вот такая конструкция никак не хочет работать (newWin=window.open('/new/win.htm', '', 'width=561, height=700, scrollbar=1, resizable=1');newWin.document.getElementById('Id').innerHTML = 'text';кто знает в чём проблемка?В понимании. window.open - асинхронный процесс. Приведенный код примерно равен следующему: вы дали чертреж дома прорабу, а через минуту принесли ему окна, чтобы он вставил в дом, который будет построен через пол года.onload не помог скорее всего потому, что вешается это событие на документ, которым, естесственно, на момент создания окна и не пахнет даже.Решается извратной конструкцией, которая через определенный промежуток времени опрашивает окно на наличие документа, если он появился, то уже можно вешать onload. Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 Спасибо, попробуем просто сейчас на локалке сайт.. и по идее дом должен строиться за секунды.. Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 Спасибо, попробуем просто сейчас на локалке сайт.. и по идее дом должен строиться за секунды..Пока он строится, скрипт пытался достучасться к несуществующему документу. Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 пустил запуск скрипта через 15сек после открытия окна.. и нифига.. Quote Link to comment Share on other sites More sharing options...
0 Иван Шумов Posted April 15, 2009 Report Share Posted April 15, 2009 вместо onload заюзай $(document).ready в jQueryда-да я знаю что я сую этот фреймворк везде, но да без разницы - он хороший Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 вместо onload заюзай $(document).ready в jQueryда-да я знаю что я сую этот фреймворк везде, но да без разницы - он хорошийТы проверял на приведенном коде, прежде чем давать совет? Уверен, что приведенный код сработает? Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 уговорил Ты проверял на приведенном коде, прежде чем давать совет? Уверен, что приведенный код сработает?да попробуем, куда деваться то Quote Link to comment Share on other sites More sharing options...
0 Иван Шумов Posted April 15, 2009 Report Share Posted April 15, 2009 Ты проверял на приведенном коде, прежде чем давать совет? Уверен, что приведенный код сработает?Не уверен. Я знаю. document.ready в jQuery срабатывает в тот момент когда заканчивает строиться Dom структура страницы и доступен XPath. в этот момент уже существуют все элементы и их характеристики. отрисовка происходет уже после. jQuery кросбраузерен съел?) Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 Не уверен. Я знаю. document.ready в jQuery срабатывает в тот момент когда заканчивает строиться Dom структура страницы и доступен XPath. в этот момент уже существуют все элементы и их характеристики. отрисовка происходет уже после. jQuery кросбраузерен съел?)Именно, когда заканчивается строиться DOM структура. А с чего ты взял, что сразу после открытия окна в нем есть хоть какой-то намек на документ? К чему привязывать обработчик? Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 кинь лучше линк где по русски про jQuery.. почитаю хоть Именно, когда заканчивается строиться DOM структура. А с чего ты взял, что сразу после открытия окна в нем есть хоть какой-то намек на документ? К чему привязывать обработчик?как бы там есть документ, ведь другие браузеры норм себя ведут..для ИЕ и оперы ваще онлоад не нужен.. Quote Link to comment Share on other sites More sharing options...
0 Иван Шумов Posted April 15, 2009 Report Share Posted April 15, 2009 Именно, когда заканчивается строиться DOM структура. А с чего ты взял, что сразу после открытия окна в нем есть хоть какой-то намек на документ? К чему привязывать обработчик?document как минимум уже создан на момент подключения JS - он есть. точка - это специфика DOM. т.е. происходит так - открываем окно - создается documrnt, потом последовательно создается DOM структура. сначала обрабатывается доктайп, потом шапка. когда о,рабатывается JS - в этот момент срабатывает триггер привязки document.ready. после этого уже грузится боди и когда ВСЕ загрузится и пошлются нужные заголовки document.ready это ловит и начинает выполнять указанные действия s0rr0w, друг мой - не стоит мне говорить что я не знаю есть оно или нет - здесь немного людей, которые могут расписать по полочкам механику фреймворка или софтины. но Мы есть, а другие просто не хотят напрягаться с тобой спорить Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 (edited) Иван Шумов , так.. ты работаешь с jQuery, а я не очень к нему близок.. как правильно написать?abilWin.$(document).ready = abilWin.document.getElementById("abil-bg").innerHTML = '<img src="images/' + abilName + '.jpg" id="abil-image" alt="' + abilName + '" title="' + abilName + '" />';ссылочки на "где почитать" будет достаточно Edited April 15, 2009 by Nekromancer Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 тупые вопросы кончелись, усё нашёл, усё понял, усё будет работать Quote Link to comment Share on other sites More sharing options...
0 Иван Шумов Posted April 15, 2009 Report Share Posted April 15, 2009 на всякий случай ссылочка на "где почитать" :-D мало-ли)jQuery понравился?) Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 15, 2009 Author Report Share Posted April 15, 2009 не, по английски я не очень люблю читать, нашёл по русски вроде доступно да, прикольно Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 document как минимум уже создан на момент подключения JS - он есть. точка - это специфика DOM. т.е. происходит так - открываем окно - создается documrnt, потом последовательно создается DOM структура. сначала обрабатывается доктайп, потом шапка. когда о,рабатывается JS - в этот момент срабатывает триггер привязки document.ready. после этого уже грузится боди и когда ВСЕ загрузится и пошлются нужные заголовки document.ready это ловит и начинает выполнять указанные действия s0rr0w, друг мой - не стоит мне говорить что я не знаю есть оно или нет - здесь немного людей, которые могут расписать по полочкам механику фреймворка или софтины. но Мы есть, а другие просто не хотят напрягаться с тобой споритьЕсли бы ты не спешил, а вдумчиво посмотрел на код, который был приведен, то ты бы понял, что ему нужно из одного окна поменять содержимое другого окна. На момент создания нового (window.open), создается объект document, но он переписывается потом нормальным документом.Вот тебе простой пример<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><html><head> <title></title> <script type="text/javascript"> newWin=window.open('blabla.html', '', 'width=1000, height=700, scrollbar=1, resizable=1'); newWin.document.myVar = "123"; </script></head><body> <a href="#" onclick="alert(newWin.document.myVar); return false;">alert</a></body> </html>Что выведет алерт? Думаешь "123"? Quote Link to comment Share on other sites More sharing options...
0 Иван Шумов Posted April 15, 2009 Report Share Posted April 15, 2009 Если бы ты не спешил, а вдумчиво посмотрел на код, который был приведен, то ты бы понял, что ему нужно из одного окна поменять содержимое другого окна. На момент создания нового (window.open), создается объект document, но он переписывается потом нормальным документом.Вот тебе простой пример<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title></title> <script type="text/javascript"> newWin=window.open('blabla.html', '', 'width=1000, height=700, scrollbar=1, resizable=1'); newWin.document.myVar = "123"; </script> </head> <body> <a href="#" onclick="alert(newWin.document.myVar); return false;">alert</a> </body> </html>Что выведет алерт? Думаешь "123"?s0rr0w, как ты правильно написал у себя в подписи - Бестолочь) кто-же работая с другими окнами создает переменные до того как загрузилась dom структура? если бы это было в пределах одного документа сработало бы, а тут конечно нет. Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 s0rr0w, как ты правильно написал у себя в подписи - Бестолочь) кто-же работая с другими окнами создает переменные до того как загрузилась dom структура? если бы это было в пределах одного документа сработало бы, а тут конечно нет. Черт, какой ты проницательный Посмотри на первый пост автора. И потом выдай ему решение на jQuery, как поменять контент открытого окна из открываемого. Quote Link to comment Share on other sites More sharing options...
0 Иван Шумов Posted April 15, 2009 Report Share Posted April 15, 2009 Черт, какой ты проницательный Посмотри на первый пост автора. И потом выдай ему решение на jQuery, как поменять контент открытого окна из открываемого.скучно и не интересно Quote Link to comment Share on other sites More sharing options...
0 s0rr0w Posted April 15, 2009 Report Share Posted April 15, 2009 скучно и не интересноТак и скажи, слабо. Quote Link to comment Share on other sites More sharing options...
0 ZoNT Posted April 15, 2009 Report Share Posted April 15, 2009 Так и скажи, слабо. На этом форуме на понт не ведутся... Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted April 16, 2009 Author Report Share Posted April 16, 2009 ну и.. так, ну jQuery тоже прикольно..кто-же работая с другими окнами создает переменные до того как загрузилась dom структура?по идее всё вовремя создаётся.. Quote Link to comment Share on other sites More sharing options...
Question
Nekromancer
Может браузеры на этом движке(тот что от apple) фигово работают с окнами, может я чёто не понимаю.. но вот такая конструкция никак не хочет работать
(
newWin=window.open('/new/win.htm', '', 'width=561, height=700, scrollbar=1, resizable=1');newWin.document.getElementById('Id').innerHTML = 'text';
пробовал так:
newWin=window.open('/new/win.htm', '', 'width=561, height=700, scrollbar=1, resizable=1');newWin.onload = function() {
newWin.document.getElementById('Id').innerHTML = 'text';
}
тоже не работает..
из всег работало только
newWin.alert('Непонятно(с)');newWin.close();
кто знает в чём проблемка?
Link to comment
Share on other sites
22 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.