jQuery在Firefox,Chrome,Opera中运行,但不是IE 11

时间:2017-06-01 15:21:30

标签: javascript jquery internet-explorer

我无法弄清楚原因。当我在兼容模式下运行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"

我想知道那可能是它吗?

0 个答案:

没有答案