[英]Javascript “document.cookie” in Android?
我需要帮助如何正确使用javascript:“ document.cookie ”或如何在Android网页浏览器中从javascript编写cookie?
我确保在设置中启用了cookie。 当我使用“navigator.cookieEnabled”检查时,它也返回true。
我有一段javascript代码,如下所示,无处不在(例如PC浏览器,iPhone),但在Android中不起作用。
function createCookie(name) {
// cookies expired in 1 year.
var expDate = new Date();
expDate.setDate(expDate.getDate() + 365);
expDate = expDate.toGMTString();
var el = document.getElementById(name);
document.cookie = name + '=' + escape(el.value) + '; path=/ ;expires=' + expDate;
document.cookie = name + '-idx=' + escape(el.selectedIndex) + ';path=/ ; expires=' + expDate;
//alert('cookie : ' + document.cookie);
}
当我在最后一行代码中打开“ 警报 ”评论时,Android将显示空白,而所有其他浏览器显示我刚刚编写的cookie的内容。
请帮忙。 谢谢。
我有这个东西工作,对于Android 2.2,javascript的document.cookie工作正常,只需确保在你的Webview ... javascript启用如下:
yourWebViewVariable.getSettings().setJavaScriptEnabled(true);
对于Android 3.1,只需将其添加到您的java文件onLoadInit:
CookieManager.setAcceptFileSchemeCookies(true);
//这是专门使其工作的行,因此其他行是可选的
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.acceptCookie();
此外,这里有一些我在尝试解决此错误时发现的链接,这对于想要将变量从Javascript发送到Webview(原生Android语言)的其他人有帮助,反之亦然。
http://android-er.blogspot.com/2011/10/run-android-java-code-from-webpage.html
http://android-er.blogspot.com/2011/10/call-javascript-inside-webview-from.html
谢谢,古德勒克!
好的,现在我真的得到了它(window.cookie,哈哈)。
只需删除path
定义中的空格即可。 似乎在我的手机上工作。 编辑:将所有字符串放在一行上,我认为它搞砸了解析。
function createCookie(name) {
// cookies expired in 1 year.
var expDate = new Date();
expDate.setDate(expDate.getDate() + 365);
expDate = expDate.toGMTString();
var el = document.getElementById(name);
document.cookie = name + '=' + escape(el.value) + '; path=/; expires=' + expDate;
document.cookie = name + '-idx=' + escape(el.selectedIndex) + '; path=/; expires=' + expDate;
//alert('cookie : ' + document.cookie); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.