cordova-plugin-x5-tbs
cordova-plugin-x5-tbs copied to clipboard
cookie doesn't work
如题 使用X5webview后cookie就失效了,具体表现是设置cookie后取不到相应值。 例: cookie.set('token', 'abc'); cookie.get('token'); // expected output: abc(际拿到的是undefined或者null) 移除cordova-plugin-x5-tbs插件后cookie能正常使用。 猜测原因是官方文档提到的(cookie问题产生的原理是:一段代码把cookie塞给了系统内核,另外一段代码尝试从x5的内核里读取cookie就失败了。类转换的错误产生的原理是:比如xml里指定的是系统的webview,java的代码里把它当作x5的webview使用。)但是就是不知道从哪里入手,求赐教。
请贴出你的完整代码吧?含import在内的。
项目采用Cordova + Vue模式,demo如下:
<template>
<div id="swiper">
<div><button @click="setCookies">set cookie</button></div>
<div><button @click="showCookies">show cookie</button></div>
<div><button @click="clearCookie">clear cookie</button></div>
</div>
</template>
<script>
import {cookie} from 'vux'
export default {
name: 'Swiper',
data: function () {
return {}
},
methods: {
setCookies () {
cookie.set('cookie', 'this is my cookie', {path: '/'})
},
showCookies () {
alert(cookie.get('cookie', {path: '/'}))
},
clearCookie () {
cookie.remove('cookie', {path: '/'})
}
}
}
</script>
<style lang="less" scoped>
#swiper {
height: 100%;
text-align: center;
&>div {padding-top: 50px;}
button {
display: block;
margin: 0 auto;
padding: 5px 10px;
border-radius: 4px;
background-color: burlywood;
}
}
</style>
https://github.com/zsxsoft/cordova-plugin-x5-tbs/blob/master/platforms/android/src/com/zsxsoft/cordova/x5/X5CookieManager.java#L42
把这行的注释去掉看看 直接改你的cordova/platforms/android下面的文件
解开注释后编译不通过,报错信息提示找不到符号,估计是SDK没有提供setAcceptFileSchemeCookies这个方法。
那这样的话,应该是只有http / https能使用Cookie了,不让在本地使用Cookie。