WebBrowser Control을 사용하구있다가. 당근.. 어려움에 봉착했슴다.
WebBrowser의 소스를 보기위해서..다음과 같은..method를 사용하려구..했습다.
procedure LoadDocFromStream(WB:TWebBrowser; Stream: TStream);
begin
(WB.Document as IPersistStreamInit).Load(TStreamAdapter.Create(Stream,soReference));
end;
근데.. WebBrowser상에.. frame이 여러개로 구성되어져 있다면,각frame의 Document를 위와 같은 형태로 가져오려구..하는데...
좋은방법이 없을까여 ---근본적으로 Interface를 지원하지 않는다구나옴.
당근..
SelectDoc := IDispatch(WebBrowser.OleObject.Document.Frames.Item(ISelectIndex).Document) as IHTMLDocument2;식으로해서...
WebBrowser.Document.Body.InnerHTML로 가져올수 있지만,
이렇게 되면.. Browser상에서 오른쪽클릭하여서 소스보기를 한것과다르게 가져오는것으로 확인되어서요..특히tag내의 내용들및 순서가 다르게 나옴...
그리고 Tag다음부터가져오더라구요.... tag부터가져올수 있는지두..궁금하군여....
> WebBrowser Control을 사용하구있다가. 당근.. 어려움에 봉착했슴다.
> WebBrowser의 소스를 보기위해서..다음과 같은..method를 사용하려구..했습다.
> procedure LoadDocFromStream(WB:TWebBrowser; Stream: TStream);
> begin
> (WB.Document as IPersistStreamInit).Load(TStreamAdapter.Create(Stream,soReference));
> end;
>
> 근데.. WebBrowser상에.. frame이 여러개로 구성되어져 있다면,각frame의 Document를 위와 같은 형태로 가져오려구..하는데...
> 좋은방법이 없을까여 ---근본적으로 Interface를 지원하지 않는다구나옴.
>
>
> 당근..
> SelectDoc := IDispatch(WebBrowser.OleObject.Document.Frames.Item(ISelectIndex).Document) as IHTMLDocument2;식으로해서...
> WebBrowser.Document.Body.InnerHTML로 가져올수 있지만,
> 이렇게 되면.. Browser상에서 오른쪽클릭하여서 소스보기를 한것과다르게 가져오는것으로 확인되어서요..특히tag내의 내용들및 순서가 다르게 나옴...
> 그리고 Tag다음부터가져오더라구요.... tag부터가져올수 있는지두..궁금하군여....
>
웹브라우저 컨트롤 사용하면 별다른 메소드 사용하지 않아도 소스보기가 기본적으로 지원되는데 굳이 그렇게 하시려는 이유가 무엇인지 궁금하군여..
소스만 가져오고싶다면..
nmhttp컨트롤 사용해두 무관한데엽..
어떤 의도로 하시려는건지 말씀해주시면 답변에 더 도움이 될 것 같습니다..