问题是 text/javascript 全面工作,但 application/[x-]javascript 是正确的。有什么理由不使用 text/javascript 吗?
背景:
我发现了一个有趣的极端情况,Chrome 将拒绝执行作为 application/x-javascript 传递的 Javascript 或作为 utf-8 编码数据 url 传递的 application/javascript(所以 data:application/x-javascript;charset=utf-8 ,...)
具体来说,Chrome 允许:
data:text/javascript; charset=utf-8,....
data:application/javascript; charset=utf-8;base64,....
data:application/x-javascript; charset=utf-8;base64,.....
但是会爆炸:
data:application/x-javascript; charset=utf-8,.....
data:application/javascript; charset=utf-8,.....
根据谷歌搜索,似乎RFC 4329将 application/javascript 规定为标准,并且在这种情况下有效,但(现已弃用)text/javascript 也是如此。
追查 RFC2397、RFC2045、RFC2046 并没有给出明确的答案。