【发布时间】:2014-11-05 00:37:24
【问题描述】:
我正在努力在 webview android 中使用 cookie 和 javascript。
我有一个位于 sdcard 数据中的 HTML 页面。这个 html 文件由 javasript 和 cookie 组成。我需要在 webview 中加载这个 html 文件,webview 需要响应 javascript 和 cookie。
到目前为止完成的工作:-
为 webview 启用 javascript
WebView1.getSettings().setJavaScriptEnabled(true);
还尝试使用 CookieManager 启用 cookie
CookieManager.getInstance().setAcceptCookie(true);
这样做,webview 响应 javascript 但不响应 cookie。任何想法如何解决这个问题?
HTML文件如下
<!DOCTYPE html>
<html>
<head>
<script>
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var res = "No Cookie!";
var name = cname + "=";
var ca = document.cookie.split(';');
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) res = c.substring(name.length, c.length);
}
document.getElementById('txt').innerHTML = res;
}
</script><noscript>No JavaScript!</noscript>
</head>
<body onload="setCookie('id', 'Cookie is working properly!', '1');">
<p id="txt"> </p>
<center>
<a href="./test-2.html">Next Page</a>
</center>
</body>
</html>
当我在浏览器中打开此文件时,它工作正常。如果有人想在浏览器中打开此文件,请使用以下网址https://www.ypsid.com/demo/test/test-1.html
【问题讨论】:
-
你的 android manifest 文件中是否有写外部存储权限?
-
是的,它在清单文件中声明。Html 文件在 webview 中加载。在webview中打开html文件没有问题。问题是 webview 没有响应 cookie
-
你能分享你的
WebView代码吗?
标签: javascript android html cookies webview