我正在尝试使用 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>