【发布时间】:2014-08-04 12:37:34
【问题描述】:
我想在 WebView 中接受 cookie,但出现错误
未捕获的错误:SECURITY_ERR:DOM 异常 18
问题仅出现在本地 js 文件中。正如 Android 文档所说,我必须使用 setAcceptFileSchemeCookies
但这并不能解决我的问题。我不知道我做错了什么。
整个代码列表:
protected override void OnCreate(Bundle bundle) {
try {
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
_webView = FindViewById<WebView>(Resource.Id.webview);
string html = string.Empty;
Android.Webkit.CookieManager.SetAcceptFileSchemeCookies(true);
using (var stream = _webView.Context.Assets.Open("res/mobileLogin.html")) {
using (TextReader reader = new StreamReader(stream)) {
html = reader.ReadToEnd();
}
}
_webView.Settings.JavaScriptEnabled = true;
_webView.Settings.AllowFileAccess = true;
_webView.Settings.AllowUniversalAccessFromFileURLs = true;
_webView.SetWebViewClient(new HybridWebViewClient());
_webView.SetWebChromeClient(new WebChromeClient());
_webView.LoadDataWithBaseURL("file:///android_asset/res/", html, "text/html", "UTF-8", null);
Android.Webkit.CookieManager.Instance.SetAcceptCookie(true);
} catch (Exception ex) {
Console.WriteLine(ex.Message);
}
}
【问题讨论】:
标签: javascript android cookies webview xamarin.android