TWebBrowser 获取html文件中Frame文档的方法
看代码:
var document: IHTMLDocument2;
ole_index: OleVariant;
frame_dispatch: IDispatch;
frame_win: IHTMLWindow2;
frame_doc: IHTMLDocument2;
begin
//获取主文档
document := WebBrowser1.Document as IHTMLDocument2;
if not Assigned(document) then
Exit;
//获取第二个frame,为IDIspatch类型
ole_index := 1;
frame_dispatch := document.Frames.Item(ole_index);
//如果不为空,转换IDispatch为IHTMLWindow2,获取document
if frame_dispatch <> nil then
begin
frame_win := frame_dispatch as IHTMLWindow2;
frame_doc := frame_win.document;
end;
接下来就可以根据frame_doc进行各种处理了。关键就是通过IDispatch中转类型。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。