我在安装在我的网站上的第三方JavaScript游戏遇到问题,在那里返回的内容types响应头是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.
基于一个推荐的configuration ,我已经尝试将以下内容添加到游戏根目录中的.htaccess文件,但它似乎没有任何影响:
<IfModule mod_mime.c> AddType application/javascript jsonp </IfModule>
我已经确认在我的httd.conf文件中启用了LoadModule mime_module modules/mod_mime.so 。 有其他设置我需要尝试?
AddType application/javascript jsonp
这个上下文中的jsonp是指被请求的静态资源的文件扩展名。 但是,引用的错误说明了game-data.json (no p ),这意味着它是一个普通的JSONstring/数据? application/json通常会成为JSON数据的正确的mimetypes。
但是,如果game-data.json确实在服务于JSONP,那么您应该修改您的AddType指令并删除p :
AddType application/javascript json