mic*_*nha 5 xamarin.ios xamarin.android xamarin
I have a webview inside my application and when an external link is clicked (that in normal browser is open in a new tab), I can't then go back to my website.
It is possible when a new tab is open to have the menu closed that tab like Gmail do ?
目标是,无论何时点击链接,用户都可以选择查看内容的选项,例如,点击链接会建议打开 youtube 应用程序或谷歌浏览器。目的是出现谷歌浏览器选项
或者你有什么建议来处理这种情况?
如果我理解正确的话,您希望能够选择如何打开 Web 链接 - 在您的应用程序内部或在另一个应用程序(浏览器)上下文中。
如果这是正确的,那么您可以使用Xamarin.Essentials:浏览器功能。
public async Task OpenBrowser(Uri uri)
{
await Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
}
Run Code Online (Sandbox Code Playgroud)
这里重要的属性是BrowserLaunchMode
flag,你可以在这里了解更多信息
基本上,你有两个选择 - External
& SystemPreferred
。
PS 您还可以自定义PreferredToolbarColor
、TitleMode
等。
编辑:根据您在评论中的反馈,您希望控制如何从您的网站打开 href 链接。
如果我理解正确的话,您希望第一次打开网站时不要在顶部显示导航栏,然后再打开它。不幸的是,这是不可能的。
您可以实现相反的行为 - 第一次打开网站时,有导航栏,如果用户单击任何链接,则从外部打开它(在浏览器内)。为此,您有 2 个选择:
a
的目标更改为_blank
这样;Control
'更改WebViewClient
为: public class CustomWebViewClient : WebViewClient
{
public override bool ShouldOverrideUrlLoading(Android.Webkit.WebView view, IWebResourceRequest request)
{
Intent intent = new Intent(Intent.ActionView, request.Url);
CrossCurrentActivity.Current.StartActivity(intent);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2219 次 |
最近记录: |