Closed fjfzeagle closed 2 years ago
Hi,
It's necessary to create a TCoreWebView2WebResourceResponseViewGetContentCompletedHandler and use it as a parameter in TempResponse.GetContent(MyHandler);
I'll add an example to the MiniBrowser demo.
The latest version of demos\Delphi_VCL\MiniBrowser includes all the code to save the raw HTML content when you click the "Save resource as..." menu option.
It uses TCoreWebView2WebResourceResponseView.GetContent and the TWVBrowserBase.OnWebResourceResponseViewGetContentCompleted event to get the resource contents.
very thank you!!
procedure TMiniBrowserFrm.WVBrowser1AfterCreated(Sender: TObject); begin // We need to a filter to enable the TWVBrowser.OnWebResourceRequested event WVBrowser1.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL);
end; procedure TMiniBrowserFrm.WVBrowser1WebResourceResponseReceived( Sender: TObject; const aWebView: ICoreWebView2; const aArgs: ICoreWebView2WebResourceResponseReceivedEventArgs); var TempArgs : TCoreWebView2WebResourceResponseReceivedEventArgs; TempResponse : TCoreWebView2WebResourceResponseView; uriP: PWideChar; uri: string; begin TempArgs := TCoreWebView2WebResourceResponseReceivedEventArgs.Create(aArgs); TempResponse := TCoreWebView2WebResourceResponseView.Create(TempArgs.Response); TempArgs.Request.Get_uri(uriP); uri := uriP; if not uri.Contains('getrealposlist') then Exit; Memo1.Lines.Add( DateTimeToStr(Now)+ ':' + uriP); //TempResponse.GetContent();
end;
WVBrowser1WebResourceResponseViewGetContentCompleted event not emited.