ios首次加载web_解决ios webview首次加载页面时拿不到localstorage的问题

当将iOS中的WebView替换为WKWebView后,首次加载H5页面时,JavaScript无法读取localStorage中的token。为解决此问题,可以检查token是否为空,为空则自动刷新页面,确保非首次加载时能正确获取token。此问题同样存在于Android,原因是JavaScript执行完成之后才写入localStorage,导致首次加载时无法获取。通过调整写入localStorage的时机或采用页面刷新策略,可以解决这个问题。
摘要由CSDN通过智能技术生成

我们的h5是通过localstorage来存储token的,每次加载h5都会通过js来取localstorage中存储的token,然后通过token去访问服务器接口取数据。

页面加载完成后取token

$(document).ready(function(){

token = localStorage.getItem("token");

})

使用token访问服务器接口

$.ajax({

headers: {

Authorization: "Token " + token

},

type:"get",

dataType:"json",

data:{timestamp:Date.parse(new Date())},

url:server_host,

success:function(data){}

}

自从把iOS中的WebView换成WKWebView后,首次加载h5页面,h5页面中的js就拿不到localstorage了。

后来突然想出来个解决方法,即访问服务器的时候先判断一个token,token为空则自动刷新一下页面,这样就相当于非首次加载h5了,就可以拿到localstorage中的token了。

function get_gold_num(){

if (token === null) {

window.location.reload()

}

$.ajax({

heade

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值