我正在尝试使用Xamarin为我的一个项目构建一个Webview应用程序,但似乎无法弄清楚如何使webview元素转到上一页而不是关闭该应用程序。
因此,我想出了如何检测按下后退按钮并防止其关闭应用程序的方法,但是我想使网页返回,如果网页无法返回,请关闭应用程序。
这是我的代码:
using System;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using Application = Xamarin.Forms.Application;
namespace myNewApp
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public class WebPage : ContentPage
{
public object _browser { get; private set; }
protected override bool OnBackButtonPressed()
{
base.OnBackButtonPressed();
return true;
}
public WebPage()
{
var browser = new Xamarin.Forms.WebView();
browser.Source = "https://myurl.com";
Content = browser;
}
}
}
我尝试了几个答案,但发现了这段代码,但由于覆盖无法访问公共Web浏览器var而无法正常工作
if (browser.CanGoBack)
{
browser.GoBack();
return true;
}
else
{
base.OnBackButtonPressed();
return true;
}
任何帮助将不胜感激。
答案 0 :(得分:1)
您需要将browser
设为类级变量,以便可以在页面中的任何位置访问它。
public class WebPage : ContentPage
{
Xamarin.Forms.Webview browser;
protected override bool OnBackButtonPressed()
{
base.OnBackButtonPressed();
if (browser.CanGoBack)
{
browser.GoBack();
return true;
}
else
{
base.OnBackButtonPressed();
return true;
}
}
public WebPage()
{
browser = new Xamarin.Forms.WebView();
browser.Source = "https://myurl.com";
Content = browser;
}
}