我正在使用 aTWebBrowser
来显示一些 HTML 内容(本地)。该应用程序分为两半,上半部分有 5 个选项卡,下半部分是 Web 浏览器。浏览器的内容经常变化,例如在切换到不同的选项卡时。
显示的内容包括我需要阻止和停止每次点击的 URL。我正在尝试使用OnBeforeNavigate2
确实检测到每个链接点击的事件,但也检测到我何时以编程方式调用Navigate
. 因此,它最终永远不会导航到任何地方。
我试着包装Navigate
电话所以我总是打电话给......
procedure TForm1.Nav(const S: String);
begin
FLoading:= True;
try
Web.Navigate(S);
Sleep(50);
finally
FLoading:= False;
end;
end;
(睡眠只是为了给它一瞬间等待)
然后捕获呼叫...
procedure TForm1.WebBeforeNavigate2(ASender: TObject; const pDisp: IDispatch;
const URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
var Cancel: WordBool);
begin
if not FLoading then
Cancel:= True;
end;
没有运气尝试这个技巧。如何检测页面或用户何时导航,而不是何时指示浏览器导航?