这是一个创建于 3739 天前的主题,其中的信息可能已经有所发展或是发生改变。
如题,程序在Chrome,Opera中执行不了JavaScript,出现错误:
Refused to execute script from 'http://example.com/info?no=31&magic=1184' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
在Firefox,IE,Safari中没问题。
查了一下,貌似是 http header 的 X-XSS-Protection 设置问题。改了一下代码:
def info
response.headers['X-XSS-Protection'] = '0'
# Other logic
end
再次运行,Chrome中的header是:
X-XSS-Protection:1; mode=block
X-XSS-Protection:0
Firefox中的header是:
X-XSS-Protection 0, 1; mode=block
X-XSS-Protection:1; mode=block 是Nginx中的设置,即使拿掉,在Chrome中还是不能正常执行脚本代码,什么原因呢?
2 条回复 • 2014-08-29 17:56:51 +08:00
|
|
1
hicdn 2014-08-29 15:15:37 +08:00
错误信息很清楚了,MIME type 错了,你设置的 MIME type 是 text/html,需要改成 application/x-javascript
|