Zdarzenie jest uruchamiane dla każdego dokumentu FRAME
/IFRAME
w dokumencie głównym.
Jeśli chcesz ignorować ich spróbować tego:
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;
z Delphi Docs:
napisz OnDocumentComplete obsługi zdarzeń do podjęcia konkretnych działań, gdy ramka lub dokument jest w pełni załadowany do Przeglądarka internetowa. W przypadku dokumentu bez ramek to zdarzenie występuje raz, gdy dokument się kończy. W dokumencie zawierającym wiele ramek zdarzenie to występuje raz dla każdej klatki. Po zakończeniu ładowania dokumentu z wieloma ramkami przeglądarka internetowa uruchamia zdarzenie po raz ostatni.
Nadawca to przeglądarka internetowa ładująca dokument.
pDisp to interfejs automatyzacji ramki lub przeglądarki najwyższego poziomu. Podczas ładowania dokumentu bez ramek, pDisp jest interfejsem przeglądarki WWW . Podczas ładowania dokumentu z wieloma ramkami jest to interfejs ramki zawierającej, z wyjątkiem ostatniego wystąpienia zdarzenia , gdy jest to interfejs przeglądarki internetowej.
Mam nadzieję, że masz na myśli schowanie, a nie usunięcie. Więc ['here'] (http://www.delphidabbler.com/tips/56) umiesz znaleźć element i na znalezionym elemencie spróbuj ustawić" Element.Style: = 'visibility: hidden;' '. – TLama
Właściwie chcę uniemożliwić im uruchamianie zdarzenia OnDocumentComplete za każdym razem. Na przykład; strona ma 4 ramki iframe, a kiedy ładuję tę stronę zdarzenie OnDocumentComplete działa 4 razy. Chcę uruchomić OnDocumentComplete tylko raz dla każdej strony. – Leadri