在TWebBrowser中是否有等效于Chromium Embedded的OnResourceResponse?(德尔福)



我当前正在尝试查看通过res加载的图像://imageName加载。在带有Res处理程序的Chromium中,我能够通过ResourceResponse事件来做到这一点,但是,Twebbrowser毫无疑问地没有类似的功能。

我已经能够锁定到onDocumentComplete函数,并能够实现一种非常低效的方式,一旦创建了HTML文档,该方式遍历整个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()相似的事件以避免查看文档?

通过一些大量的研究,我使用异步插入的协议找到了解决此问题的解决方案,但到目前为止,它仅适用于直接嵌入形式的twebbrowser的单个形式应用程序。可以在此处找到此解决方案的源代码http://www.jasontpenny.com/blog/2010/03/23/custom-prototollandler handler-in-delphi/。

如果您像我一样,并且仍然使用异步插入协议有一个问题,因为您的twebbrowser没有直接嵌入表格中,我已经打开了一个新问题:我如何找到用于twebbrowser的comserver异步插件协议

相关内容

  • 没有找到相关文章

最新更新