我在网站上安装的第三方 javascript 游戏出现问题,返回的内容类型响应标头不是application/json
请求application/javascript
为 jsonp 的资源。这在 Safari 或 Firefox 中似乎不是问题,但在 Chrome 中会引发错误。
我在控制台中收到的错误是Refused to execute script from 'http://example.come/js/game/data/game-data.json' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.
基于一个推荐配置,我尝试将以下内容添加到.htaccess
游戏根目录中的文件中,但似乎没有任何效果:
<IfModule mod_mime.c> AddType application/javascript jsonp </IfModule>
我已确认LoadModule mime_module modules/mod_mime.so
我的文件中已启用此功能httd.conf
。我还需要尝试其他设置吗?
答案1
AddType application/javascript jsonp
jsonp
在此上下文中指的是文件扩展名静止的正在请求的资源。但是,引用的错误状态为game-data.json
(no p
),这意味着它是一个普通的 JSON 字符串/数据?application/json
通常是 JSON 数据的正确 mime 类型。
然而,如果game-data.json
真的提供 JSONP 服务,那么你也许应该修改你的AddType
指令并删除p
:
AddType application/javascript json