透過 WebBrowser 取得網頁當中的 FrameSet 資料 |
尚未結案
|
boson
中階會員 發表:74 回覆:155 積分:85 註冊:2004-07-31 發送簡訊給我 |
我透過 TWebBrowser 瀏覽網頁時, 可以使用以下的一段程式取得網頁中的所有 Frame 資料:
procedure TForm1.Button1Click(Sender: TObject); begin NavigateFrameset((WebBrowser1.Document as IHTMLDocument2)); end; procedure TForm1.NavigateFrameset(document: IHTMLDocument2); var index: Integer; ole_index: OleVariant; frame_dispatch: IDispatch; framed: IHTMLWindow2; begin if document = nil then exit; try Memo1.Lines.Add('URL : ' String(document.URL)); for index := 1 to document.Frames.Length do begin try ole_index := index-1; frame_dispatch := document.Frames.Item(ole_index); if frame_dispatch <> nil then begin framed := frame_dispatch as IHTMLWindow2; if Assigned(framed.document) then NavigateFrameset(framed.document); end; except on E: Exception do MessageDlg(E.Message,mtError,[mbOk],0); end; end; except on E: Exception do MessageDlg(E.Message,mtError,[mbOk],0); end; end;這段程式碼對絕大多數網頁都可以正常執行, 可是在少數網頁中, 卻會發生錯誤 例如: http://www.imfong.com 就無法使用 請大家幫忙測試一下, 問題出在哪邊好嗎 ? 謝謝 ! (必須 uses MSHTML_TLB 才能編譯以上程式碼, 而 MSHTML_TLB 必須經由 import Type Library 取得) |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |