Android中的Javascript“document.cookie”?

时间:2011-12-24 02:53:04

标签: javascript html css

我需要帮助如何正确使用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内容 写入。

请帮忙。 感谢。

2 个答案:

答案 0 :(得分:4)

我得到了这个功能,对于Android 2.2,javascript的document.cookie工作正常,只需确保在你的Webview中... javascript启用如下:

yourWebViewVariable.getSettings().setJavaScriptEnabled(true);

for 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

谢谢,Goodluck!

答案 1 :(得分:1)

好的,现在我真的得到了它(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); }