小程序
小游戏
企业微信
微信支付
扫描小程序码分享
约定:
某一级专用WebView:WebView1
通用WebView:WebView2
小程序中一个一级页面使用WebView实现,即WebView1,在WebView1链接的web页面中,跳转至WebView2,但WebView1的load中,从Storage取出了“cookie”数据,而在WebView2的load中,无法获取该数据,疑似两个WebView对应的是不同的Storage,请问有没有办法让两个WebView共享Storage数据
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
所有WebView页面处理url都会调用该函数
// webViewUtil.js
handleWebViewParams(url) {
const urlParams =
this
.handleUrlStringToParams(url)
const timestamp = Date.parse(
new
Date())
urlParams.timestamp = timestamp
urlParams.platform =
'wechat_mp'
urlParams.app =
'ysy'
if
(getApp().globalData.token) {
urlParams[
'#id-token'
] = getApp().globalData.token
delete
urlParams.dzj_wx_mp_is_login
}
else
{
// 告诉后台我没有登录, 你快把 cookie 清掉
'dzj_wx_mp_is_login'
] =
'false'
const path =
.getPathFromUrl(url)
const tempUrl = encodeURIComponent(
.handleParamsToUrlString(path, urlParams))
return
tempUrl
// app.js
globalData: {token:
null
onShow:
function
() {
.globalData.token = wx.getStorageSync(
'key_token'
)
WebView1先行加载,getApp().globalData.token 调用后成功获取key_token的值,WebView2调用 getApp().globalData.token 则获取不到
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
上代码片段吧
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
所有WebView页面处理url都会调用该函数
// webViewUtil.js
handleWebViewParams(url) {
const urlParams =
this
.handleUrlStringToParams(url)
const timestamp = Date.parse(
new
Date())
urlParams.timestamp = timestamp
urlParams.platform =
'wechat_mp'
urlParams.app =
'ysy'
if
(getApp().globalData.token) {
urlParams[
'#id-token'
] = getApp().globalData.token
delete
urlParams.dzj_wx_mp_is_login
}
else
{
// 告诉后台我没有登录, 你快把 cookie 清掉
urlParams[
'dzj_wx_mp_is_login'
] =
'false'
}
const path =
this
.getPathFromUrl(url)
const tempUrl = encodeURIComponent(
this
.handleParamsToUrlString(path, urlParams))
return
tempUrl
}
// app.js
{
globalData: {token:
null
}
onShow:
function
() {
this
.globalData.token = wx.getStorageSync(
'key_token'
)
}
}
WebView1先行加载,getApp().globalData.token 调用后成功获取key_token的值,WebView2调用 getApp().globalData.token 则获取不到
上代码片段吧