2012-11-01 6 views
17

Ich versuche, die jQuery-File-Upload plugin zu verwenden. Aber ich habe ein Problem, wenn ich tatsächlich versuche, die Funktion aufzurufen. Irgendwo in meinem Code werde ich $ (fubar) .fileupload aufrufen und Uncaught TypeError: Object #<Object> has no method '_on' jquery.fileupload.js:977 bekommen. Dies geschieht nun nachdem die Seite und alle js Skripte geladen wurden.JQuery-Datei-Upload-Fehler: Uncaught TypeError: Objekt # <Object> hat keine Methode '_on'

A) A similar error is discussed in den Boards des Werkzeugs. Ich habe versucht, jquery.fileupload.js direkt nach dem dom lädt. Ich habe die Technik mit etwas wie unten versucht.

<script src='/static/presentation/js/lib/jquery.fileupload.js'></script> 
    <script src='/static/presentation/js/lib/jquery.iframe-transport.js'></script> 
</body> 

Aber wenn die Seite geladen wird, erhalte ich einen anderen Fehler Uncaught Error: Mismatched anonymous define() module: function ($) {....

B) Auf documentReady habe ich sogar versucht, die Script-Tags im Kopf dynamisch zu generieren und einzufügen. Aber ich bekomme den gleichen Fehler Uncaught Error: Mismatched anonymous define() module: function ($) {....

Ich benutze jquery-Datei-Upload mit Requirejs. Ich bringe nur das herauf Ich testete die Bibliothek aus und ließ es mit einer normalen Jane-Statik-Seite arbeiten. Nur die grundlegenden js Bibliotheksdateien. Also ich weiß nicht, was das verursacht. Aber es scheint nicht DOM bezogen zu sein.

Jede Hilfe wird geschätzt.

+0

Haben Sie die jQuery-Datei an erster Stelle eingefügt? –

+0

Ja (faire Frage). JQuery-Skript laden ist das Plugin jquery-file-upload. – Nutritioustim

+0

Ok, ich habe es gerade herausgefunden. Siehe unten ... – Nutritioustim

Antwort

25

Ok, ich habe es gerade herausgefunden. Ich muss einfach jquery.fileupload.js nach jquery.ui.widget.js und jquery.iframe-transport.js einschließen. Zumindest weiß ich es für zukünftige Referenz.

<script src='/static/presentation/js/lib/jquery.ui.widget.js'></script> 
<script src='/static/presentation/js/lib/jquery.iframe-transport.js'></script> 
<script src='/static/presentation/js/lib/jquery.fileupload.js'></script> 
+1

Ich schreibe eine Erweiterung basierend auf jQuery Datei-Upload-Plugin für Yii-Framework und hatte den ähnlichen Fehler aufgrund ich 'jquery.ui.widget.js' nicht enthalten. Auf der Demo-Seite des Plugins konnte man jedoch in den Kommentaren sehen, dass "die jQuery-UI-Widget-Factory weggelassen werden kann, wenn jQuery UI bereits enthalten ist". Es ist nicht wahr, zumindest für jQuery UI 1.8.22, das mit Yii 1.1.12 geliefert wird. – Ezze

+0

Ich frage mich, wie das war die Lösung, weil ich das gleiche Problem hatte, habe ich es wie Sie behoben, aber in ihrer Demo-Seite sind ihre JS-Dateien überall verstreut und ihre "Upload" wirft keine Fehler. –

-1

Mit der neuesten Version blau imp ich mit jquery-ui-1.9.2.custom.min.js nur jquery.ui.widget.js ändern und es gut funktionieren. Hoffe, dass diese Hilfe jemand dabei festhielt.

0

Stellen Sie sicher, dass Sie ergänzende Versionen von jQuery und jQuery UI und nur eine Kopie von jQuery ausführen. Ich merkte, dass ich jquery-rails bei 1.10 und eine lokale jQuery 1.11-Datei laufen ließ, und das Entfernen der letzteren und das Aktualisieren der ersteren machten den Trick.