解决iOS的webview中,historay.back()不重新执行js

问题描述:

最近做了一个App内嵌H5的项目,页面A跳转到页面B,并且在B中需要对A做一些更改以后传回A,考虑到使用url传参的话不太方便,对象类型的值用url传参不是很友好,并且如果使用window.location.href跳转的话会造成页面死循环式跳转,于是最后使用了localstorage本地存储来做这个页面通信。

在后期测试时发现,安卓设备上页面B返回页面A时状态会立即刷新,而iOS设备上A的状态还是跳转到B之前的状态。于是我在页面A的js开头处写了alert(123);发现在iOS上,从B返回A时并没有打印出123,安卓上却是可以正常打印的。这表明,iOS的webview返回上一个页面并不会重新执行js代码!!!

解决ios设备上webview中,页面A跳转到页面B,再通过historay.back()回到页面A,此时页面A的js不会重新执行,数据不会刷新。在页面A开头写入这段代码,亲测,会到页面A时会重新执行js

解决iOS的webview中,historay.back()不重新执行js_第1张图片

你可能感兴趣的:(解决iOS的webview中,historay.back()不重新执行js)