imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 17.08.2006, 13:00     # 1
Contact0
Guest
 
Сообщения: n/a

Access to other window/document

Добрый день, уважаемые!

Проблема такая. На странице с домена domain1 есть гиперссылка, по нажатию на которую появляется окно:
newWin = window.open("http://domain2/page.html","newWinName");
Как получить доступ к окну/документу newWin, так чтобы у окна с домена domain1 был доступ к объектам окна с домена domain2? В частности, нужно заполнить автоматом поля формы с этой "чужой" страницы + на этой странице поменять у некоторых контролов формы визуальные стили - все это надо делать скриптом в теле страницы с domain1. Не знаю, как это можно сделать. Помогите пожалуйста.

Спасибо.
С уважением,

Последний раз редактировалось Contact0; 17.08.2006 в 13:03.
 
Старый 17.08.2006, 13:12     # 2
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Посмотрите в сторону глобальных массивов php.
__________________
меня не вылечат
Псих вне форума  
Старый 17.08.2006, 13:30     # 3
Contact0
Guest
 
Сообщения: n/a

При чем здесь глобальные массивы PHP? Вопрос по JS/DHTML.
 
Старый 17.08.2006, 13:53     # 4
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
newWin - это и есть твое созданное окно , бери и доступайся как обычно newWin.document... Если надо из открытого доступиться до того откуда открыли, используется объект window.opener.document... или я не понял в чем проблема... Вот если ноды ты хочешь клонировать в иерархию другого документа - это другой вопрос
Вот, хороший справочник, тут информация достовернее, чем в МСДН... обрати внимание на метод importNode...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах

Последний раз редактировалось /7y3uK; 17.08.2006 в 13:58.
/7y3uK вне форума  
Старый 17.08.2006, 14:11     # 5
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Из одного окна в общем случае нельзя получить доступ к свойствам другого, если они принадлежат разным доменам. Единственный возможный способ - это если у тебя страницы расположены на различных доменах третьего уровня, но домены второго уровня совпадают, то можно понизить строгость проверок до совпадающего домена через установку document.domain. Вот тут подробнее написано.
В остальных же случаях остается только передавать через URL или post-запрос новому окну список параметров, чтобы оно само себя уже настраивало после открытия.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 17.08.2006, 14:36     # 6
Contact0
Guest
 
Сообщения: n/a

К сожалению, да, домены совершенно разные, т.е. с своего домена domain1 я хочу получить доступ к окну с постороннего домена domain2. Передача через УРЛ нужных мне параметров затруднена, т.к. на domain2 нужная мне страница не может принимать этих параметров, а только дает возможность юзеру заполнить форму самому. А надо автоматом

2 /7y3uK:
Вы предлагаете клонировать весь документ в документ у себя как есть, чтобы с ним можно было делать что угодно, в силу того что к документу с чужого домена нет доступа полного?
Я правильно понял?
 
Старый 17.08.2006, 15:49     # 7
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Эта тема вам случаем не поможет?
http://imho.ws/showthread.php?t=106849
__________________
меня не вылечат
Псих вне форума  
Старый 17.08.2006, 16:13     # 8
Contact0
Guest
 
Сообщения: n/a

Спасибо, близко к теме, но все-таки не то. Здесь нужно просто с сайта из базы данных пару записей отпарсить (это как раз не проблема) и занести в форму на странице с совершенно другого сайта. Форму ту я уже изучил, знаю названия тех полей, что надо заполнить. А передать туда ну никак не получается. Технологией DOM не получается так же, т.к. она хороша, когда документ с нашего же домена - здесь же документ с чужого сайта. Плюс еще и куки, session_id etc.
 
Старый 17.08.2006, 16:21     # 9
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
решение нужно кросс-браузерное?
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 17.08.2006, 16:58     # 10
Contact0
Guest
 
Сообщения: n/a

Саруман, да, желательно кросс-браузерное. Но и просто для IE/FF/Mozilla - тоже сойдет. Я никак не могу понять в какую сторону копать... Я новичок, всего лишь учусь
 
Старый 17.08.2006, 18:02     # 11
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
кросс-браузерно и без участия юзера не решишь. Можно либо извратиться каким-нибудь ActiveXом (IE-only, ессно), либо юзер может указать сайты как trusted - тогда они смогут друг к другу обращаться, и т.п. Общего решения без участия пользователя нет.
В зависимости от твоих целей, возможно, стоит рассмотреть обходные пути решения задачи.
Навскидку пара идей.
Некоторые сайты при отправке неправильно заполненой формы возвращают ее же на дозаполнение, подставляя значения переданных полей. Соответственно, можно отправлять подобный запрос на сайт, который будет открывать уже заполненную форму, думая, что она была передана пользователем.
Если же цель просто отправить запрос на другой сайт - можно выдать аналогичную форму у себя и, после заполнения ее юзером, отправить ее на целевой сайт, подменив referer и т.п.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 24.08.2006, 11:23     # 12
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Да, кроссбраузерно врядли сделаешь. Для разных браузеров есть решения, но всеравно пользователю должен быть запрос. Для ФФ например, нужно подписывать скрипт, и пользователя спросят о разрешении тогда.
http://imho.ws/showthread.php?t=80584 особенно полезны ссылки из последнего поста Al-x.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 19:05.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.