我是 Django 的新手,我正在开发 Django 应用程序。我使用“媒体”文件夹来保存我的 css 和 javascript 文件(我知道这不是一个好习惯)但它正在工作。一些代码行
<link href="/media/shop/bootstrap//css/bootstrap.min.css" rel="stylesheet">
<link href="/media/shop/bootstrap//css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="/media/shop/themes/css/bootstrappage.css" rel="stylesheet" />
<script src="/media/shop/themes/js/jquery-1.7.2.min.js"></script>
<script src="/media/shop/bootstrap//js/bootstrap.min.js"></script>
<script src="/media/shop/themes/js/superfish.js"></script>
但是我不知道在几天后(今天)发生了什么,当我再次打开这个元素并尝试在本地主机上运行时,我在控制台中遇到这样的错误
.
单击出现错误的链接后,它会显示我的 javascript 文件但不会执行它。
最奇怪的是,当我在传输相同的文件夹后在其他系统(也在本地主机上)执行相同的文件时,它正在工作,控制台中没有任何此类错误。同样的元素(网站)也托管在互联网上,当我再次在我的系统中在线打开该网站时,也没有任何此类错误。
但是当我替换
<script src="/media/shop/themes/js/jquery-1.7.2.min.js"></script>
与
<script type="javascript" src="/media/shop/themes/js/jquery-1.7.2.min.js"></script>
然后错误没有出现在控制台中,但它仍然无法正常工作。
我不认为浏览器设置有任何问题,因为我检查了 3 个不同的浏览器,但它显示相同的东西。
关于如何解决此问题以及如何禁用 MIME 类型检查的任何建议?
最佳答案
尝试将以下代码添加到您的 settings.py
import mimetypes
mimetypes.add_type("text/javascript", ".js", True)
这是有人告诉我的解决方案。遗憾的是,它没有任何解释。
关于javascript - 启用严格的 MIME 类型检查,拒绝从 '<url>' 执行脚本它的 MIME 类型 ('text/plain')不可执行,并且,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61729822/