我无法弄清楚原因。当我在兼容模式下运行IE 11时,jQuery运行良好。否则它甚至不会加载我的jQuery。我的代码中有大量的console.log
要调试,而且没有一个显示在控制台中。我没有在控制台中收到错误,但我在我的服务器上执行了Ruby代码。错误如下:
I, [2017-06-01T15:16:46.790492 #22201] INFO -- : Started GET "/my_file.js"
I, [2017-06-01T15:16:46.795990 #22201] INFO -- : Processing by ScriptsController#my_action as HTML
I, [2017-06-01T15:16:46.797140 #22201] INFO -- : Completed 406 Not Acceptable in 0ms (ActiveRecord: 0.0ms)
F, [2017-06-01T15:16:46.798323 #22201] FATAL -- :
ActionController::UnknownFormat (ActionController::UnknownFormat):
app/controllers/scripts_controller.rb:5:in `my_action'
所有其他浏览器正确处理我的jQuery为js,而IE将其处理为HTML。不知道为什么。
这是脚本在网站上的包含方式:
<script language="javascript" type="application/javascript" src="https://my_server.com/my_file.js"></script>
我相信它有某种兼容性问题,不知道如何修复?
编辑: IE和其他浏览器之间的标头有所不同: 在IE 11中,差异如下:
"HTTP_ACCEPT"=>"application/javascript, */*;q=0.8",
"HTTP_ACCEPT_LANGUAGE"=>"en-US",
"HTTP_ACCEPT_ENCODING"=>"gzip, deflate",
虽然firefox看起来像这样:
"HTTP_ACCEPT"=>"*/*",
"HTTP_ACCEPT_ENCODING"=>"gzip, deflate, sdch, br",
"HTTP_ACCEPT_LANGUAGE"=>"en-US,en;q=0.8"
我想知道那可能是它吗?