我正在创建一个webbrowser,我使用TWebBrowser和一个TEdit来输入url.But当我打开一个带有链接的网页时,然后当我点击该链接时,我转到另一个网页,我的问题是如何使TEdit标签成为当前的URL。
答案 0 :(得分:3)
为OnNavigateComplete2
事件编写处理程序:
procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject;
const pDisp: IDispatch; const URL: OleVariant);
begin
Edit1.Text := URL;
end;
编写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;