我正在开发一个用Nativescript编写的简单应用程序。
该应用程序具有一个登录表单,该表单可以根据API进行身份验证,并成功加载Web视图。所以没有那么复杂。
但是我希望能够在手机的默认浏览器中而不是在Webview中打开某些链接,例如指向外部站点的链接。
是否可以“捕获”所有链接点击,并且如果该链接的target属性设置为空白,我们可以在外部浏览器中打开该链接吗?
我需要一种可以在iOS和Android上运行的解决方案。
这可以在Nativescript中完成吗?
答案 0 :(得分:0)
您可以使用nativescript-webview-ext插件并使用shouldOverrideUrlLoading
事件来检查URL并根据需要取消该过程,然后使用open url method in utility module在默认浏览器中打开给定的URL。< / p>
答案 1 :(得分:0)
是的,可以在NativeScript中执行此操作,但不能使用默认的WebView
组件。我正是在这种情况下,我正在编写一个插件,该插件可在NativeScript中自定义默认WebView,以覆盖Android的iOS webview和idem中的默认WKUIDelegate
。
对于iOS,WKUIDelegate
允许检测是否有尝试使用方法_blank
打开与目标webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures
的链接的尝试,因此,在使用此委托实施自定义Webview时,允许在外部浏览器中打开链接/您想要的应用程序。
看看这个插件:https://github.com/Notalib/nativescript-webview-ext,了解如何自定义默认Web视图。