0

我在http://www.knuckledown.net上设置了一个非常简单的 html 页面,如下所示:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
</head>
<body>
</body>
</html>

如果我尝试在 Safari(iPhone 或 Windows Safari 桌面)中加载此页面,浏览器会显示加载微调器 1 分钟,直到超时。但只有每秒钟加载一次页面。

这在 IE、Chrome 或 Firefox 中不会发生,并且脚本的名称或内容是什么并不重要。当我在本地机器上托管文件时不会发生这种情况,仅在我的 Heroku 主机上。如果相关,则由 PlayFramework 1.2.4 提供服务。我很难过 - 有什么想法会在这里发生吗?

- 更新 -

heroku 日志:

» 08:28:01.445 2013-05-29 22:28:01.378683+00:00 heroku router - - at=info method=GET path=/ host=www.knuckledown.net fwd="101.165.43.250" dyno=web.1 connect=13ms service=13ms status=200 bytes=115
» 08:28:01.868 2013-05-29 22:28:01.791882+00:00 heroku router - - at=info method=GET path=/js/jquery-1.7.2.min.js host=www.knuckledown.net fwd="101.165.43.250" dyno=web.1 connect=2ms service=45ms status=304 bytes=33732
4

1 回答 1

1

我发现这与我的响应标头有关。我为 Play Framework 实现了我自己的静态文件 gzip、缩小和缓存,我在这里忘记了:https ://stackoverflow.com/a/10916904

我猜我使用的缓存标头对于除 Safari 之外的所有浏览器都是可接受的。

它基于现有的 Play 框架缓存策略,所以我想我会禁用 addEtag() 方法,直到我能弄清楚如何修复它。

于 2013-05-31T00:03:09.750 回答