日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何从OnDocumentComplete事件中获得当前frame的html代码

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何从OnDocumentComplete事件中获得当前frame的html代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近弄的東西,需要獲得一個網頁中所有frame的html代碼.

獲取frame的源碼是在OnDocumentComplete事件的處理函數中進行的. void OnDocumentComplete(IDispatch *pDisp, VARIANT *URL); 參數?IDispatch *pDisp?是當前完成OnDocumentComplete的browser接口.可以通過判斷其與一開始navigate用的webbrowser接口比較,來判斷這個documentcomplete消息是主框架發出還是頁面 參數URL代表當前發出OnDocumentComplete事件的frame的url,每個frame完成都會發出這個事件,這也是在多frame的頁面中會接收到多個OnDocumentComplete消息的原因. //通過pDisp查詢發出當前事件的browser IWebBrowser2Ptr pWebBrowser2; hr = pDisp->QueryInterface(IID_IWebBrowser2,(void **)&pWebBrowser2); //然后從pWebBrowser2獲取document CComPtr<IDispatch> spHTMLDocumentDispath; hr = pWebBrowser2->get_Document(&spHTMLDocumentDispath); CComQIPtr<IHTMLDocument2> spHTMLDocument = spHTMLDocumentDispath; //從spHTMLDocument?中拿body IHTMLElementPtr spBody = NULL ; HRESULT hr = pdc->get_body(&spBody); //用spBody?的get_innerHTML就可以取到frame對應的html代碼了 _bstr_t bstrBody; HRESULT hr = spBody->get_innerHTML(bstrBody.GetAddress());

轉載于:https://www.cnblogs.com/Entreri/archive/2012/01/18/2325680.html

總結

以上是生活随笔為你收集整理的如何从OnDocumentComplete事件中获得当前frame的html代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。