我通过app中设置好cookie,并且在app里测试是能获取到。
访问服务页页面时,在页面使用plus对象指定当前域名为location.origin时也能获取cookie。
但此时使用document.cookie是看不到app存储的cookie的,并且后端程序接收到页面请求也获取不到cookie。
而且程序代码自行设置的cookie、和旧版本app设置的cookie是可以在后端程序里获取到。
我用两个app各自两个版本做测试,
一个是前年就没有更新,到今天测试登录功能仍然正常的,但用新版本的开发工具打包后就没法正常登录;
另外一个是今年1月份打包的,到现在登录功能仍然正常,之后经过修改(没有改动到cookie存储或读取)于3月25号打包,但由于发现cookie读取不正常,所以无法发布。
以下是代码片段:
<script type="text/javascript">
document.addEventListener('plusready', function(){
var origin = "http://192.168.44.229:10010/";
var ext = new Date();
ext.setTime(ext.getTime() + 30 24 60 60 1000);
var cookieValue = "id_member_shopbest=701E2D1F4A58501F; expires=" + ext.toUTCString() + "; path=/";
plus.navigator.setCookie(origin, cookieValue);
document.getElementById("cookie").innerText = plus.navigator.getCookie(origin);
});
</script>
<body>
<p id="cookie"></p>
<a href="http://192.168.44.229:10010/mobi/cn/goods_list.html">跳转服务器页面</a>
</body>
这个问题我是在iOS模拟器和安卓手机上试了有问题,使用iPhone手机测试却正常,所以提交了BUG,但提交完发现页面打不开,但在个人动态里是能看到的,为了防止别人看不到,所以发布多一个问题咨询,想看看别人有没有遇到这个情况。
附上提交BUG的页面链接:https://ask.dcloud.net.cn/question/91796
阿卢说他遇 (作者)
因为云端打包会使用最新版本的html5plus基座,所以就算现在你使用的旧版开发工具正常,只要云端打包就可能结果不一样,除非你本地打包。
不过我好奇的是,最新版本已经发布了一个月了,难道就只有你我遇到这个情况?你也是用plus对象中的方法去设置cookie然后获取不到么
2020-03-26 10:34