Ich habe eine Drupal 7-Website (mit jquery-update installiert, FWIW). jQuery wird anscheinend vom jQuery-Objekt anstelle von $ referenziert. Dies ist bei https://www.drupal.org/node/171213 gut dokumentiert.
Ich versuche, ein bereitgestelltes Skript zu verwenden, um bestimmte Anforderungen zu erfüllen.
Das Skript zur Verfügung stellt das $ -Objekt, und so bekomme ich "TyperError: $ ist keine Funktion".
Die HTML- und Script zur Verfügung gestellt sieht aus wie:
<div id="grid"><span class="grid-load-error">There was an error loading the interactive grid.</span></div>
<script type="text/javascript" src="//site.com/tool.js">
</script>
Auf Seite zu laden, erhalte ich die Meldung Typeerror.
Ich habe versucht, das Laden des Skripts in einem Verschluss zu wickeln:
<div id="grid"><span class="grid-load-error">There was an error loading the interactive grid.</span></div>
<script type="text/javascript">
(function($) {
$(function() {
// console.log($('#grid').html());
$.getScript("//site.com/tool.js");
});
})(jQuery);
</script>
Ich weiß, dass $ innerhalb des Verschlusses arbeitet - die kommentierte console.log() erzeugt die korrekte Ausgabe, wenn unkommentiert.
Ich nahm an, dass $ .getScript() würde fehlschlagen, wie sagt mir, dass das Skript im globalen Kontext ausgeführt wird (was, wenn ich Schließungen richtig verstehen $ ist nicht global hier).
Gibt es eine Möglichkeit, dass ich dieses Skript aus der Quelle aufnehmen kann, oder sollte ich es bearbeiten, um "$" durch "jQuery" zu ersetzen?