我为当地社区大学做一些小的编程和网络工作。工作包括维护一个非常庞大且破坏灵魂的网站,该网站由 VBScript、javascript、Dreamweaver 生成的杂乱无章的大杂烩和各种骗子多年来说服他们购买的附加组件的集合组成。
几天前,我接到一个电话“该网站正在为使用 Safari 的人锁定!” 好的,第一步下载Safari(v3.1.2),第二步上网。一切似乎都运行良好。
长话短说,我终于找到了这个问题,它与 Safari 的后退按钮有关。该网站使用了一个花哨的 javascript 菜单,该菜单适用于我尝试过的所有浏览器,包括 Safari,这是第一次。但是在 Safari 中,如果您点击页面外的链接然后点击后退按钮,则菜单不再起作用。
我做了一个精简的网页来说明原理。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Safari Back Button Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body onload="alert('Hello');">
<a href="http://www.codinghorror.com">Coding Horror</a>
</body>
</html>
加载页面,您会看到警告框。然后点击页面外的链接并点击后退按钮。在 IE 和 Firefox 中,您会再次看到警告框,而在 Safari 中则不会。
经过激烈的谷歌搜索,我发现其他人也有类似的问题,但没有真正令人满意的答案。所以我的问题是,在用户点击后退按钮后,如何让我的页面在 Safari 中以与其他浏览器中相同的方式工作?
如果这是一个愚蠢的问题,请保持温和,javascript 对我来说有点新。