Delphi - 如何将TWebBrowser标记为TEdit标签

时间:2018-05-12 12:14:22

标签: delphi delphi-xe

我正在创建一个webbrowser,我使用TWebBrowser和一个TEdit来输入url.But当我打开一个带有链接的网页时,然后当我点击该链接时,我转到另一个网页,我的问题是如何使TEdit标签成为当前的URL。

1 个答案:

答案 0 :(得分:3)

OnNavigateComplete2事件编写处理程序:

procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject;
  const pDisp: IDispatch; const URL: OleVariant);
begin
  Edit1.Text := URL;
end;

documentation说:

  

编写OnNavigateComplete2事件处理程序以执行特定操作   当Web浏览器成功导航到新资源时。该   事件可以在文档完全下载之前发生,但是何时发生   发生至少部分文件必须被接收和观众   创建的文件。

     

注意:与OnDownloadComplete事件不同,如果操作不成功,则不会发生OnNavigateComplete2。

使用不存在的网址进行的测试显示无论如何都会触发。

您可能还想考虑为OnBeforeNavigate2事件编写处理程序,以防万一.f.ex。以编程方式取消导航到URL

procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  Edit1.Text := URL;
end;