現在、読み込まれた時点でRes://imagenameを介して読み込まれている画像を表示しようとしています。resハンドラーを備えたChromiumでは、ResourceResponseイベントを介してこれを行うことができましたが、TWebBrowserには、私が知る限り、同様の機能はありません。
私はOnDocumentComplete関数を利用することができ、作成されたHTMLドキュメント全体を調べる非常に非効率的な方法を実装することができました...
procedure TNotesBrowser.TBrowserDocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
var
HTMLDocument2: IHTMLDocument2;
i : Integer;
Item : IHTMLElement;
ImageUrl : string;
begin
HTMLDocument2 := ((FBrowser as TWebBrowser).Document AS IHTMLDocument2);
if HTMLDocument2 <> nil then
begin
for i := 0 to HTMLDocument2.images.length -1 do
begin
Item := HTMLDocument2.images.item(i, 'null') As IHTMLElement;
ImageUrl:=item.getAttribute('src',0);
if ContainsText(ImageURL,'ImageName') then
if Assigned(FCCICONLoaded) then
{ Trigger Event }
FCCICONLoaded(self);
end;
end;
end;
ただし、これは非常に長いプロセスです。では、他の誰かが、ドキュメントを調べないようにするためにChromiumのOnResourceResponse()と同様に機能するイベントを見つけましたか?