我在xaml中创建了带有ContenPage的WebView (下面的代码)。我正在构造函数中传递webpageURL。我的目标是在开始加载传递的URL之前,使用javascirpt将项添加到webview区域存储中。我尝试了几种方法,比如
Browser.EvaluateJavaScriptAsync(javascirpt);或Browser.Evaluate(javascirpt);
在构造函数中执行之前
Browser.Source = URL;
或将此方法包装在
Device.BeginInvokeOnMainThread(异步() =>{});
但他们还是不像想象的那样工作。你知道我的问题有什么解决办法吗?
public partial class WebView : ContentPage
{
public WebView(string URL)
{
string item = "test";
string javascirpt = String.Format("localStorage.setItem('ls.item', '{0}')", item);
Browser.Eval(javascirpt);
Browser.Source = URL;
}
}Xaml:
<WebView x:Name="Browser" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2"
HeightRequest="1000"
WidthRequest="1000"
Navigating="WebOnNavigating"
Navigated="WebOnEndNavigating" />发布于 2018-11-28 02:03:08
我们不建议将这些代码放在构造函数.Because中--当调用这些code.Try将它们移动到方法OnAppearing时,类"WebView“还没有初始化。
protected override void OnAppearing()
{
base.OnAppearing();
string item = "test";
string javascirpt = String.Format("localStorage.setItem('ls.item', '{0}')", item);
Browser.Eval(javascirpt);
Browser.Source = URL;
}https://stackoverflow.com/questions/53503847
复制相似问题