我正在做類似的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