我正在开发一个关于localhost的Django项目,其中包含一些包含在base.html模板中的JavaScript文件。我的JavaScript包含在页面底部:
... other stuff...
<script src="/media/js/jquery.js" type="text/javascript"></script>
<script src="/media/js/jquery-ui-1.9.1.custom.js" type="text/javascript"></script>
<script src="/media/js/bootstrap.js" type="application/javascript"></script>
<link rel="stylesheet" href="/media/css/pepper-grinder/jquery-ui-1.9.1.custom.css" />
{% block extrajs %}
{% endblock %}
</body>
有时,但令人沮丧的是,并非总是,当我加载或刷新页面时,其中一个JavaScript文件的GET请求失败。有时它是jquery-ui的请求,有时它是jQuery本身的,有时它是bootstrap.js。如果我将网址直接粘贴到浏览器中,则JavaScript文件加载完全正常,因此我的媒体网址不会出现问题。
在Chrome中,如果我点击控制台错误并查看网络标签,则状态显示“(失败)”,类型显示为“待处理”。请求标头似乎表明请求实际上没有失败,它根本就没有完成。
Request URL:http://localhost:8111/media/js/jquery-ui-1.9.1.custom.js
Request Headersview source
Accept:*/*
Cache-Control:no-cache
Pragma:no-cache
Referer:http://localhost:8111/reservation/create/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
最后,在Firefox中加载页面不会产生错误,但会显示JavaScript文件的响应返回304。
这是我如何服务静态媒体的问题(除了通常的静态媒体设置之外没什么特别的)?用Chrome?我该如何解决这个问题?
答案 0 :(得分:5)
尝试停用Chrome扩展程序,看看是否有帮助。我遇到了同样的问题,结果是Adblock扩展导致了这个问题。
更新:根据@jessykate,完整的解决方案似乎也是将Chrome更新到最新版本 - 至少23.0.1271.91。
答案 1 :(得分:1)
304错误表示文件尚未修改,因此您的计算机无需从服务器下载该文件。所以这根本不是错误 - 它只是表明您的浏览器效率更高。
如果您最近更改了文件并希望查看更改,请尝试清除缓存。