【问题标题】:Javascript "document.cookie" in Android?Android中的Javascript“document.cookie”?
【发布时间】:2011-12-24 02:53:04
【问题描述】:

我需要有关如何正确使用 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);
}

当我在最后一行代码中打开“alert”注释时,Android 会 只是显示空白 所有其他浏览器都向我显示我刚刚创建的 cookie 的内容 写的。

请帮忙。 谢谢。

【问题讨论】:

  • 该代码在 PC 浏览器、iPhone 上完美运行,但 Android 只是显示空白。你知道Android上的“document.cookie”有什么问题吗?以及如何处理?

标签: javascript html css


【解决方案1】:

我让这个东西工作了,对于 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

谢谢,祝你好运!

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-10
      • 2011-04-24
      • 2016-07-16
      • 2018-02-04
      • 2018-04-10
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多