要素が毎回イベントiframe
をトリガーしないようにしたい。OnDocumentComplete
たとえば、ページには4つのiframeがあり、このページを読み込むと、OnDocumentComplete
イベントが4回実行されます。OnDocumentComplete
ページごとに1回だけ実行したい。どうやってやるの?
たぶん、私はコントロールを削除またはブロックすることができiframes
ますTWebBrowser
。
要素が毎回イベントiframe
をトリガーしないようにしたい。OnDocumentComplete
たとえば、ページには4つのiframeがあり、このページを読み込むと、OnDocumentComplete
イベントが4回実行されます。OnDocumentComplete
ページごとに1回だけ実行したい。どうやってやるの?
たぶん、私はコントロールを削除またはブロックすることができ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;
Delphi Docsから:
フレームまたはドキュメントがWebブラウザに完全にロードされたときに特定のアクションを実行するOnDocumentCompleteイベントハンドラを記述します。フレームのないドキュメントの場合、このイベントはドキュメントの読み込みが完了すると1回発生します。複数のフレームを含むドキュメントでは、このイベントはフレームごとに1回発生します。複数フレームのドキュメントの読み込みが完了すると、Webブラウザは最後にもう一度イベントを発生させます。
Senderは、ドキュメントをロードしているWebブラウザです。
pDispは、トップレベルのフレームまたはブラウザの自動化インターフェイスです。フレームなしでドキュメントをロードする場合、pDispはWebブラウザのインターフェイスです。複数のフレームを含むドキュメントをロードする場合、これは、イベントが最後に発生したときを除いて、含まれているフレームのインターフェイスであり、Webブラウザのインターフェイスです。