我正在做类似的Windows Phone,但我有一个sessionId,我传递给webview源内的JavaScript - 我使用自定义渲染器,然后调用网页上的脚本( WebView)
要实现此设置一个自定义视图和渲染器。然后在你的渲染器获取视图和SessionID属性的观点:
protected override async void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if(e.PropertyName == SessionWebView.SessionIdProperty.PropertyName)
{
view = Element as SessionWebView;
Control.LoadCompleted += Control_LoadCompleted;
if (view != null)
{
_currentSessionId = view.SessionId;
}
}
}
那么对于上装完成上市,并调用javascript函数中的网页视图。
void Control_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
try
{
if (!scriptCalled)
{
Control.IsScriptEnabled = true;
var param = new string[1];
param[0] = _currentSessionId;
Control.InvokeScript("initWebView", param);
scriptCalled = true;
}
}
catch(Exception ex)
{
throw;
}
}
不知道是否有更好的方法,但这在WindowsPhone中适用于我。
您可以在您的登录方法调用中返回一个令牌并将其传递给您的webview? – valdetero 2014-10-28 19:23:16
嗨valdetero。感谢您的回复。我可以。但是有没有一个更好的方法用于WebView。我可以通过它的源URL的查询字符串,但希望有一些事情更安全... – 2014-11-01 03:03:36
嗨,你是怎么做到这一点?谢谢 – 2015-01-06 08:14:07