Форум: "Начинающим";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];
ВнизКак плучить кол-во фреймов из IWebBrowsera? Найти похожие ветки
← →
Signal (2012-11-09 05:10) [0]Пробую так:
WB - это IWebBrowser2;
iDoc := WB.Document as IHtmlDocument2;
FramesCol := iDoc.Get_frames;
FramesLen := FramesCol.Get_length;
ViewMessage(FramesLen); - выдает всегда 1
хотя на странице есть кроссдоменный фрейм
iDoc := WB.Document as IHtmlDocument2; // т.е. вот тут в Idoc лежит основной фрейм и нет других
уже всю голову сломал, мастера помогите плз!
//====
← →
sniknik © (2012-11-09 08:09) [1]> выдает всегда 1
открой исходный код странички и посчитай количество тегов <frame> "руками".
???
> есть кроссдоменный фрейм
в смысле? хотя не важно, он есть один?
← →
Signal (2012-11-09 12:35) [2]все ребят разобрался, дело в том, что если кроссдоменный фрейм (то вышеописанным методом он не показуется, типа из за соображений безопасности)
нашел вот такой код:function CrossDomainFrame(Doc : IHTMLDocument2;
nFrame : Integer) : IWebBrowser2;
var
theContainer : IOLEContainer;
Enumerator : IEnumUnknown;
nFetched : PLongInt;
unknownFrame : IUnknown;
begin
Result := nil;
nFetched := nil;
theContainer := Doc as IOleContainer;
theContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enumerator);
Enumerator.skip(nFrame);
Enumerator.next(1, unknownFrame, nFetched);
unknownframe.QueryInterface(IID_IWebBrowser2, Result);
end;
правда тормознуто работает, но работает
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c