0

在应用程序文件中,我正在加载这样的 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 文件的路径时,一切正常。

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

4

2 回答 2

0

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

于 2013-10-06T02:38:04.277 回答
0

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

当我下载这些文件并将它们保存到/assets文件夹中时,一切正常。

于 2013-10-06T10:42:18.890 回答