Safari 事件不会从后退按钮触发
当通过后退按钮输入页面时,我似乎无法在Safari中触发身体onload =“…”事件。 它在FF和IE中工作正常。 有Javascript或jQuery解决方案吗?
任何帮助赞赏。
尝试:
window.addEventListener("pageshow", function() { alert('page shown'); }, false);
对于Opera浏览器,请阅读: http : //samuli.hakoniemi.net/onload-issues-with-opera/
这是众所周知的。 Safari和许多其他浏览器缓存页面,当您导航回它时,它们只是恢复以前的状态。
这是关于这个主题的一篇很好的MDN文章(它关于FF 1.5,但也应该适用于其他浏览器): https : //developer.mozilla.org/En/Using_Firefox_1.5_caching
尝试像@zvona建议的pageshow
事件。
如果未触发onload事件,则应设置缓存控制。
或者在正文中添加标签:
您可以尝试使用带有jQuery的DOM ready事件,而不是使用标记的
onload
属性,如下所示:
$(document).ready(function() { // your code here });
或者,速记版本:
$(function() { // your code here });
即使这不能解决你的Safari问题,它仍然是一个很好的做法,因为它将你的HTML和Javascript分成易于识别的部分。