我正在开发一个有角度的网站,该网站从WebView加载到应用程序中,并且其中只有一个链接必须在应用程序外部(外部浏览器)打开
我需要一种从JavaScript处理此问题的方法,而不是将多余的工作放在android方面。 而且我已经尝试了一些方法,包括:
window.open("url","_system")
(navigator as any).app.loadUrl("http://google.com", {openExternal : true});
答案 0 :(得分:0)
嗯,没有这样的东西
相反,必须从android应用程序代码处理它。您可以在需要在外部浏览器中打开该网址时向其添加参数(此处为external=true
),然后在加载的Webview网址中检查该参数,如下所示:
webView.setWebViewClient(new WebViewClient(){
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if((String.valueOf(request.getUrl())).contains("external=true")) {
Intent intent = new Intent(Intent.ACTION_VIEW, request.getUrl());
view.getContext().startActivity(intent);
return true;
} else {
view.loadUrl(String.valueOf(request.getUrl()));
}
return true;
}
});