我在FireMonkey应用程序(Android和iOS)上有一个TWebBrowser。
我希望能够拦截(陷阱)TWebBrowser中的超链接点击并执行与它们不同的操作。
我找到了使用BeforeNavigate2事件的参考资料。但是,我认为无法在Object Inspector中为该事件添加过程。而且我不确定Android或iOS是否存在该事件;或者它只是一个Windows事件。
有没有办法拦截跨平台的超链接点击?
[编辑]
我的最终目标是拦截浏览器组件中的超链接点击并执行与其不同的操作(例如,我想将其生成到本机浏览器)。
点击时不会触发 OnShouldStartLoadWithRequest
。实际上它似乎并没有触发我的任何地方。其他人遇到过这个问题(Incus J)。
OnDidStartLoad
会触发;但是,无论触发器中发生了什么,它似乎都会在后台继续进行页面加载。我可以在触发器中添加myWebBrowser.Stop
;但是,它不能可靠地工作。我怀疑有时页面加载在Stop
被解雇之前完成。
使用OnDidFinishLoad
并使用GoBack
方法证明是不方便的,因为上一页将重新加载到页面顶部而不是控件中显示的内容(如果用户滚动)。 / p>
我是否在上面引用的主题中试图以Incus J建议的方式破解Android / iOS等效的TWindowsWebBrowserService?