delphi - ejemplos - iframe que es
¿Cómo evito el evento OnDocumentComplete para elementos iframe incrustados? (1)
Quiero evitar que elementos de iframe
desencadenen el evento OnDocumentComplete
todo el tiempo. Por ejemplo, una página tiene 4 iframes, y cuando cargo esta página, mi evento OnDocumentComplete
se ejecuta 4 veces. Quiero ejecutar OnDocumentComplete
solo una vez para cada página. ¿Cómo puedo hacer eso?
Tal vez podría eliminar o bloquear iframes
en el control TWebBrowser
.
El evento OnDocumentComplete
se OnDocumentComplete
para cada FRAME
/ IFRAME
en el documento principal.
Si quieres ignorarlos, prueba esto:
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;
De Delphi Docs:
Escriba un controlador de eventos OnDocumentComplete para tomar medidas específicas cuando un marco o documento está completamente cargado en el navegador web. Para un documento sin marcos, este evento ocurre una vez cuando el documento termina de cargarse. En un documento que contiene varios fotogramas, este evento se produce una vez para cada fotograma. Cuando el documento de cuadros múltiples termina de cargarse, el navegador web desencadena el evento por última vez.
El remitente es el navegador web que está cargando el documento.
pDisp es la interfaz de Automatización del marco o navegador de nivel superior. Al cargar un documento sin marcos, pDisp es la interfaz del navegador web. Al cargar un documento con múltiples marcos, esta es la interfaz del marco contenedor, excepto por la última vez que ocurre el evento, cuando es la interfaz del navegador web.