【发布时间】:2014-11-26 07:26:08
【问题描述】:
我正在尝试设置为 Android webview 启用的 cookie,但它对我不起作用 这是我尝试过的
CookieManager cookieManager = CookieManager.getInstance();
CookieSyncManager.createInstance(this);
webView = (WebView) findViewById(R.id.webView);
cookieManager.setAcceptCookie(true);
cookieManager.acceptCookie();
CookieSyncManager.getInstance().startSync();
WebSettings settings = webView.getSettings();
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setDefaultZoom(ZoomDensity.FAR);
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(true);
settings.setRenderPriority(RenderPriority.HIGH);
settings.setAppCacheEnabled(true);
settings.setAllowFileAccess(true);
settings.setAllowContentAccess(true);
settings.setDomStorageEnabled(true);
这里是 JS
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
alert(ca);
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}
更新
这是我设置 cookie 的方式
function setCookie(cname, cvalue) {
var domain = document.domain;
var currentURL = document.URL;
if (currentURL.substr(0, 4) == 'file') {
alert("in offline cookie set");
document.cookie = cname + "=" + cvalue + "; path=/;" + " domain=file://";
}
else{
document.cookie = cname + "=" + cvalue + "; path=/;" + " domain=" + domain;
}
}
【问题讨论】:
-
从哪里设置 cookie?每个使用 WebView 的应用都会获得一个不同的、最初为空的 cookie jar。
-
@ksasq :我只是在 JS 中设置 cookie,就像在在线浏览器中一样。请参阅有问题的更新
标签: android cookies webview android-webview