0

我正在尝试使用 cookie 在两个页面之间传递数据。我使用原生 javascript (document.cookie) 和 jquery (cookie 插件) 来保存它们,但仍然出现错误。

在真实设备上进行测试时不会保存任何 cookie。这些值从未设置,因此它们为空。

他们完美地在模拟器上工作。奇怪的是,如果我在保存 cookie 之前加载远程内容(例如:来自 Google CDN 的脚本),它就可以工作。

我还没有在这个问题上找到任何东西。

  • 设备:黑莓9700 OS 5
  • 黑莓网络软件 SDK:2.3.1.5
  • 模拟器:黑莓 9700 / 8520 OS 5

更新:这是我用来保存 cookie 的测试代码。

<script>

    function getCookie(c_name)
    {
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
        {
        c_start=c_start + c_name.length+1;
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
        }
      }
    return "";
    }

    function setCookie(c_name,value,expiredays)
    {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
    }        

    $(document).ready(function(){
        $("#next").click(function(){
            var opt = $("#options option:selected").val();
            setCookie("option",opt,100);                
            window.location.href = "two.html";
        });
    });
</script>
4

1 回答 1

0

尝试使用此处概述的方法...

http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Cookie-support-in-OS5/mp/1448253#M18924

来自黑莓论坛。

于 2012-08-15T16:56:19.810 回答