我想阻止iframe
元素从触发OnDocumentComplete
每一次事件。 例如,一个页面有4个I帧,当我打开这个网页,我OnDocumentComplete
事件而运行的4倍。 我想运行OnDocumentComplete
只有一次的每一页。 我怎样才能做到这一点?
也许我可以删除或阻止iframes
的TWebBrowser
控制。
我想阻止iframe
元素从触发OnDocumentComplete
每一次事件。 例如,一个页面有4个I帧,当我打开这个网页,我OnDocumentComplete
事件而运行的4倍。 我想运行OnDocumentComplete
只有一次的每一页。 我怎样才能做到这一点?
也许我可以删除或阻止iframes
的TWebBrowser
控制。
该事件OnDocumentComplete
被激发每个FRAME
/ IFRAME
的主要文件内。
如果你想忽略它们试试这个:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
// check that the event is raised for the top-level browser (not frames or iframes)
if pDisp = TWebBrowser(Sender).ControlInterface then
begin
// do something nice...
end;
end;
德尔福文档:
写一个OnDocumentComplete事件处理采取具体行动的时候一帧或文档被完全加载到Web浏览器。 对于没有框架的文档,该事件发生一次,当文档加载完毕。 在包含多个帧的文件,该事件对于每一帧发生一次。 当多帧文件完成加载,Web浏览器触发事件最后一次。
发件人是加载文档的Web浏览器。
PDISP是顶层帧或浏览器的自动化接口。 当加载没有框架的文档,PDISP是Web浏览器的界面。 当装载带有多个帧的文件,这是包含帧的接口,除了事件发生时,当它是在Web浏览器的接口的最后时间。