德尔福 10.4.2
我是第一次使用 TEdgeBrowser,并且正在我创建的一个小型演示应用程序中玩一些想法。到目前为止,我已经能够以编程方式导航到网站,登录(填写用户名和密码并单击登录按钮),单击一个按钮(我的案例)以转到另一个页面,然后填写一个编辑字段和一个用于查找特定案例的组合框。到目前为止一切都很好。现在该案例可用,我可以选择单击“历史记录”或“服务信息”。我单击“历史记录”按钮并希望在另一个 TEdgeBrowser 组件中打开新窗口。这是我用来尝试执行此操作的代码,但它不起作用。
procedure TfrmMain.EdgeBrowserNewWindowRequested(Sender: TCustomEdgeBrowser;
Args: TNewWindowRequestedEventArgs);
begin
//* Natigate to the history page
pgeMain.ActivePage := tabHistory;
//* Open link in another WebView2 (new tab):
Args.ArgsInterface.Set_NewWindow(EdgeBrowserHistory.DefaultInterface);
end;
请注意,我在 FormShow 事件中有以下内容。
procedure TfrmMain.FormShow(Sender: TObject);
begin
EdgeBrowser.UserDataFolder := 'C:\Temp\';
EdgeBrowserHistory.CreateWebView;
end;
注意:我的主浏览器是调用 EdgeBrowser
procedure TfrmMain.btnGoClick(Sender: TObject);
begin
pgeMain.ActivePage := tabBrowser;
EdgeBrowser.Navigate(edtWebSiteURL.Text);
end;
阅读此站点上的其他帖子,我认为这可能与在 TPageControl 的另一个页面上有一个 TEdgeBrowser 有关,所以我将其移至主窗体,但它仍然无法正常工作。
如果我在 EdgeBrowserNewWindowRequested 事件中没有任何代码,它将打开一个新窗口就好了。有人知道我需要做什么才能让它工作吗?