请教一下大佬们,uniapp的web-view怎么setCookie?
我们用uniapp开发的app调用三方的h5页面
需要把登录态cookie带过去
不知道如何在uniapp中实现
- 发布:2020-08-25 13:46
- 更新:2024-04-16 10:45
- 阅读:8525
最佳回复
梦里追逐 (作者)
//监听“plusready”事件
document.addEventListener("plusready", function() {
// var wvB = plus.webview.currentWebview();
var wvB = plus.webview.create('https://1x.fuyou.online', 'xiaoShop', {
top: '44px',
bottom: '44px'
})
console.log(JSON.stringify(wvB))
wvB.evalJS('document.cookie ="sid=bbcf2ee460fb405d928218ad35;path=/;domain=1x.fuyou.online"')
wvB.show()
}, false);
5***@qq.com - 90后IT男
我来给个uniapp的写法研究了一天,web-view也试过,plus.runtime.openURL、plus.webview.open()等等恶心的写法都试过;
正文:
let temp = getApp().resetSetStorage(); //为对象数组可以换成自己的数据
let wv = plus.webview.create(url,'showUrl',{});
wv.onloaded = e=>{
temp.map(item=>{
wv.evalJS(localStorage.setItem('${item.key}','${item.value}')
);
})
}
wv.show('slide-in-bottom',20);
l***@akulaku.com - fuxk
需要自己写插件吧?
android的插件可以这么写,ios的不懂。
@UniJSMethod(uiThread = true)
public void setCookie(String host, String value) {
CookieManager it = CookieManager.getInstance();
it.setAcceptCookie(true);
it.setCookie(host, value);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
CookieSyncManager.getInstance().sync();
} else {
it.flush();
}
}
2***@qq.com - 胸口碎大石
楼主请问找到解决的办法没有?
-
https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.setCookie
2021-07-02 11:16
-
回复 DCloud_Android_DQQ: 多谢,结合楼主的,在3.x版本下用如下方法也达到了效果:
const currentWebview = this.$scope.$getAppWebview();
currentWebview.evalJS('document.cookie ="session.id=a3512ad9e2c54282ad371f5b0c7731e1; Path=/fast; HttpOnly; SameSite=lax"')2021-07-02 14:45
-
回复 2***@qq.com: 大佬,能贴全一点的代码吗?
或者一个demo,我的需求是,unipp做的登录页,然后跳转webview一个h5页面,把数据存到cookit里。。2021-10-22 09:04
梦里追逐 (作者)
在uniapp中实现登录然后共享cookie给第三方h5页面
2020-08-26 14:11
梦里追逐 (作者)
在uniapp中实现登录然后共享cookie给第三方h5页面,这样的话三方h5才能读取到登录态然后自动登录
2020-08-26 14:13
1***@qq.com
回复 梦里追逐: 官方大神qq上说你的问题和我的类似,让我指点一二,其实我的业务和你的正好相反。不过我给你提供一个思路,可行不可行我也没试过。将web-view组件用plus.webview.create替代,然后用 evalJS注入设置cookie的脚本,从而达到给第三方页面设置cookie的效果,要是可行麻烦给我也说一下.
2020-08-26 14:23
梦里追逐 (作者)
回复 1***@qq.com: 大佬,可以的 我把代码贴出来了
2020-08-26 14:54
1***@qq.com
回复 梦里追逐: 可以的!
2020-08-26 14:55
梦里追逐 (作者)
回复 1***@qq.com: 大佬 不好意思哈,我后面又回归测试了一下,不知道什么原因 偶尔可以 偶尔失效
2020-09-11 17:09
1***@qq.com
回复 梦里追逐: 你这这种情况一般是js注入时机相比第三方页面渲染速度有时候快有时候慢造成的,快则正常,貌似无解!
2020-09-23 16:26
1***@163.com
大佬,我要是想从打开的webview里面拿到cookie然后传给uniapp,这种要是实现有什么思路吗,
2024-05-13 10:54