我正在本地主机上开发一个 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 的请求。如果我将 url 直接粘贴到浏览器中,JavaScript 文件加载得非常好,所以我的媒体 url 不是问题。
在 Chrome 中,如果我点击控制台错误并查看网络选项卡,状态显示为“(失败)”并且类型显示为“待定”。请求 header 似乎表明请求实际上并未失败,只是根本没有通过。
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 ?我该如何解决这个问题?
最佳答案
尝试禁用 Chrome 扩展程序,看看是否有帮助。我遇到了同样的问题,原来是 Adblock 扩展导致了这个问题。
更新:根据@jessykate 的说法,完整的解决方案似乎也是将 Chrome 更新到最新版本——至少 23.0.1271.91。
关于javascript - Django JavaScript 加载不规律地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444074/