Amazon EC2服务器上未正确加载JavaScript文件

时间:2013-10-05 23:23:44

标签: javascript ruby-on-rails ruby amazon-ec2 assets

在应用程序文件中,我正在加载JS:

 %script{:type => 'text/javascript', :src => 'https://www.google.com/jsapi'}
 %script{:type => "text/javascript", :src => "http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"}
 %script{:type => "text/javascript", :src => "/assets/jquery_ujs.js?body=1"}

我需要通过%script标记加载它们。 但JS不起作用。当我打开Firebug以找出原因时,有以下内容:

Uncaught ReferenceError: jQuery is not defined jquery_ujs.js?body=1:394

上面的所有路径都是正确的,当我显示生成的应用程序的HTML输出并单击JS文件的路径时,一切正常。

因此,出了什么问题?为什么会出现这些错误?

2 个答案:

答案 0 :(得分:0)

查看jQuery是否被加载两次。在Chrome开发者工具中,加载网络选项卡,然后重新加载页面。单击“名称”列以按名称排序,并查看是否有两个jQuerys。这件事发生在我之前。第二次加载jQuery会覆盖jQuery名称空间,并且与该名称空间关联的任何库都不起作用。

答案 1 :(得分:0)

问题出在外部加载的javascript文件中(来自第三方提供商,如Github或Google)。

当我下载这些文件并将其保存到/assets文件夹中时,一切运行良好。