Frage

Das fühlt sich an wie es sollte ziemlich einfach sein, aber es scheint nicht viel Belastung zu sein.

Ich habe in meinem 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'

... wo meine application.js Datei enthält einige gute ‚ole jQuery. Ich habe jRails und meine jQuery funktioniert gut mit lokalen Kopien der Bibliotheken, aber ich möchte das verwenden diejenigen von Goolge API.

Hier ist, was mein Browser erzeugt:

<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>

Ich bin mit Safari und der Fehler-Konsole, die die folgenden Fehler meldet:

ReferenceError: Can't find variable: google
ReferenceError: Can't find variable: $

Entsprechend keiner meiner jQuery-Skripte arbeiten.

Hilfe?

War es hilfreich?

Lösung

javascript_include_tag setzt automatisch einen Js am Ende. Es scheint, diese Runde keine Möglichkeit zu sein, während javascript_include_tag verwenden. Sie sollen (wie pro Ihren eigenen Kommentare) Ihren eigenen Script-Tag erstellen:

%script{ :src => 'google.com/jsapi', :type => 'text/javascript', :charset => 'utf-8' }

Persönlich ziehe ich den JSAPI zu überspringen, und die Bibliotheken direkt verweisen, so einfach:

= javascript_include_tag 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'

Andere Tipps

Als Nebenbemerkung über Haml, können Sie die :javascript Filter verwenden, anstatt einen Skript-Tages mit CDATA Definition und Inhalt manuell:

:javascript
  google.load("jquery", "1.3.2"); 
  google.load("jqueryui", "1.7.2");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top