Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TWebBrowser и фреймы [D6, WinXP]


0xBAD ©   (2005-11-22 01:13:00) 

Значит есть сайт, в котором фрейм, в этом фрейме ещё один фрейм, а в этом фрейме форма с логином. с элементами этой формы я работаю, например, так:
var
ov: OleVariant;
...................
ov:=WebBrowser1.OleObject.Document.frames.item(0).Document.frames.item(0).Document;
ov.forms.item(0).nameditem('Login').value:='МойЛогин';

всё пока что работает нормально. далее логинюсь, получаю страничку с фреймом, в котором ещё 2 фрейма. и тут, как только я пытаюсь сделать, например, так
ov:=WebBrowser1.OleObject.Document.frames.item(0).Document
не говоря уж, например, о
n:=WebBrowser1.OleObject.Document.frames.item(0).Document.frames.length
сразу же вылетает ошибка "Отказано в доступе"
Спрашивается, почему???
И вообще, из-за чего в принципе возникает такая ошибка?


crea000   (2006-02-09 22:12:00) [1]

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


0xBAD   (2005-11-22 14:06:00) [2]

аа, так вот в чём дело: http://msdn.microsoft.com/workshop/author/om/xframe_scripting_security.asp
теперь понятно откуда растёт корень ошибки про доступ:)
Сдлаю пояснение насчёт доменов сайта, приведу примерную структуру сайта:
Страничка с логином:
-Окно (domain0.ru)
--Фрейм0 (domain0.ru)
---Фрейм1 (domain0.ru)
----Форма с логином
тут ясно дело проблем нет, поскольку во всех фреймах страницы с одного домена

Страничка, которая загружается после логина:
-Окно (domain0.ru)
--Фрейм0 (domain1.ru !!!)
---Фрейм1 (domain1.ru)
----Всякие элементы
---Фрейм2 (domain1.ru)
----Всякие элементы
вот тут то и возникает ошибка когда я пытаюсь достучаться до любого элемента Фрейм0.
то есть получается, что фрейм0 думает что другой фрейм с другим доменом пытается что-то сделать с его элементами
как это обойти??

PS если я слишком заковыристо написал - говорите, опишу проблему по-проще:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо