2011-12-24 25 views
3

我需要帮助如何正确使用javascript:“document.cookie”或 如何在Android Web浏览器中使用JavaScript编写cookie?Android中的“document.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的内容。

请帮忙。 谢谢。

+0

该代码完全适用于PC浏览器,iPhone但Android仅显示空白。你知道Android上的“document.cookie”是否有问题吗?以及如何处理? – Blingue 2011-12-24 03:19:58

回答

1

好吧,现在我真的明白了(window.cookie,lol)。

只需删除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); } 
+0

大声笑(window.cookie),这很有趣!顺便说一句,你节省了我的一天,非常感谢! – Blingue 2011-12-24 04:30:22

4

我得到这个东西的工作,为Android 2.2,JavaScript的document.cookie中正常工作,只要确保在网页视图... JavaScript是像这样启用:

yourWebViewVariable.getSettings().setJavaScriptEnabled(true);

为的Android 3.1只是添加到您的Java文件调用onLoadInit:

CookieManager.setAcceptFileSchemeCookies(true); //这是一个专门使得它的工作,因此其他行是可选的线路

CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.acceptCookie();

而且,这里是我发现当我试图找出这个错误了,这可能是其他人想从Javascript变量发送到网页视图(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

感谢和古德勒克!