nee*_*zer 3 jquery haml ruby-on-rails jrails
这感觉应该很简单,但似乎并没有多少装载.
我有这个app/views/layouts/application.html.haml
:
= javascript_include_tag 'http://www.google.com/jsapi'
%script{ :type => "text/javascript", :charset => "utf-8" }
//<![CDATA[
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
//]]>
= javascript_include_tag 'application'
Run Code Online (Sandbox Code Playgroud)
...我的application.js
文件包含一些好的'ole jQuery.我已经安装了JRails,我的jQuery可以正常使用库的本地副本,但我想使用Goolge API中的那些.
这是我的浏览器生成的内容:
<script src="http://www.google.com/jsapi.js" type="text/javascript"></script>
<script charset='utf-8' type='text/javascript'>
<!-- /<![CDATA[ -->
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
<!-- /]]> -->
</script>
<script src="/javascripts/application.js?1255040651" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
我正在使用Safari和错误控制台,它会报告以下错误:
ReferenceError: Can't find variable: google
ReferenceError: Can't find variable: $
Run Code Online (Sandbox Code Playgroud)
相应地,我的jQuery脚本都没有工作.
救命?
javascript_include_tag
自动将.js放在最后.在使用时似乎没有办法解决这个问题javascript_include_tag
.您应该(根据自己的意见)创建自己的脚本标记:
%script{ :src => 'google.com/jsapi', :type => 'text/javascript', :charset => 'utf-8' }
Run Code Online (Sandbox Code Playgroud)
我个人更喜欢跳过jsapi,并直接引用库,所以只需:
= javascript_include_tag 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'
Run Code Online (Sandbox Code Playgroud)