关于手机 safari 浏览器点 后退 js不执行的问题

天才在左-疯子在右 2013-12-25 10:51:44
群里有没有前端的,问个问题。
现在手机 safari点后退(用的history.go(-1))之后,不执行任何js,应该是直接调用了本机缓存的已经生成的静态历史记录。
而其他浏览器是点后退之后是可以执行js的,应该是直接用历史记录,并加载了js的。这中间没有与服务器进行交互。
现在想让safari执行缓存页面的js的话,只能通过直接用超连接直接指向上一页。但是这样的话,就相当于不用缓存,又与服务器交互了一次。达不到这个目的。

有没有人知道如何让safari跟谷歌一样,可以用缓存页并加载js呢..
以下是代码.可以用自己手机试一下。我是iphone手机,用safari,点后退是没有执行alert的,而用chrome是执行了alert的。

<!-- index.html -->


<html>
<head>
<script type="text/javascript">
alert("dddd");
</script>
</head>
<body>
<a href="/2.html">sss</a>
</body>
<html>





<!--2.html-->

<html>
<body>
<ul>
<li>
<a class="c-btn c-btn-aw" href="javascript:history.back(-1);">
<span>back(-1) js </span>
</a>
</li>
<li>
<a class="c-btn c-btn-aw" href="javascript:history.go(-1);">
<span>go(-1) js </span>
</a>
< /li >
<li>
<a class="c-btn c-btn-aw" href="/">
<span>返回 href</span>
</a>
< /li >
</ul>
</body>
<html>
...全文
4025 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taohe123 2015-03-12
  • 打赏
  • 举报
回复
if (window.DeviceMotionEvent) { window.addEventListener("devicemotion", function() {}, false); }
XZowie 2014-09-25
  • 打赏
  • 举报
回复
用SPA的概念實作history pushState (PJAX) 然後在url後面加上亂數的參數就可以略過緩存
jiaozi19911110 2014-09-25
  • 打赏
  • 举报
回复
同求 不知楼主解决了没有
fuabcck 2013-12-26
  • 打赏
  • 举报
回复
window onload试试
  • 打赏
  • 举报
回复
顶顶更健康。。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧