6

要素が毎回イベントiframeをトリガーしないようにしたい。OnDocumentCompleteたとえば、ページには4つのiframeがあり、このページを読み込むと、OnDocumentCompleteイベントが4回実行されます。OnDocumentCompleteページごとに1回だけ実行したい。どうやってやるの?

たぶん、私はコントロールを削除またはブロックすることができiframesますTWebBrowser

4

1 に答える 1

14

イベントは、メインドキュメント内の/OnDocumentCompleteごとに発生します。 それらを無視したい場合は、これを試してください。FRAMEIFRAME

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;

Delphi Docsから:

フレームまたはドキュメントがWebブラウザに完全にロードされたときに特定のアクションを実行するOnDocumentCompleteイベントハンドラを記述します。フレームのないドキュメントの場合、このイベントはドキュメントの読み込みが完了すると1回発生します。複数のフレームを含むドキュメントでは、このイベントはフレームごとに1回発生します。複数フレームのドキュメントの読み込みが完了すると、Webブラウザは最後にもう一度イベントを発生させます。

Senderは、ドキュメントをロードしているWebブラウザです。

pDispは、トップレベルのフレームまたはブラウザの自動化インターフェイスです。フレームなしでドキュメントをロードする場合、pDispはWebブラウザのインターフェイスです。複数のフレームを含むドキュメントをロードする場合、これは、イベントが最後に発生したときを除いて、含まれているフレームのインターフェイスであり、Webブラウザのインターフェイスです。

于 2012-04-11T12:13:48.057 に答える