解决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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 昨天我们007-44班开班了。虽然我们已经交过两次作业,但还是很有感觉。从仪式上,我们成为了不出局的一员。...
    一起生长阅读 166评论 2 1
  • 你站在桥上看风景 看风景的人在楼上看你 明月装饰了你的窗子 你装饰了别人的梦 如果我是你的风景,你愿意停下脚步,为...
    无言的告白阅读 325评论 0 2