Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: Fehlermeldung TypeError: $

  1. #1
    Contao-Nutzer
    Registriert seit
    03.09.2010.
    Beiträge
    136

    Standard Fehlermeldung TypeError: $

    Hallo,
    unter Entwicklerwerkzeuge - Console wird für jede Seite
    startseite.html:92 Uncaught TypeError: $(...).ready is not a function
    at startseite.html:92
    (anonymous) @ startseite.html:92
    angezeigt.
    Hat jemand eine Erklärung für mich was das bedeutet.
    Das ist die Seite https://bikebringer.de , installiert ist Contao 4.7 bei allinkl.
    Gruß Joe

  2. #2
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    580
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hi,

    wahrscheinlich ist jQuery im Seitenlayout nicht aktiviert.

    Viele Grüße
    Software-Entwickler Backend/Frontend

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Du hast MooTools und jQuery gleichzeitig aktiviert. Da musst du bei eigenen JavaScripts dann aufpassen. Bspw. musst du
    HTML-Code:
    <script>
      $(document).ready(function(){
        $("table").wrap('<div class="table-scrollable"></div>');
      });
    </script>
    auf
    HTML-Code:
    <script>
      (function($){
        $(document).ready(function(){
          $("table").wrap('<div class="table-scrollable"></div>');
        });
      })(jQuery);
    </script>
    ändern.

    Übrigens: da das JavaScript am ende des <body> auftaucht, kannst du das auf
    HTML-Code:
    <script>
      (function($){
        $('table').wrap('<div class="table-scrollable"></div>');
      })(jQuery);
    </script>
    vereinfachen. Oder noch weiter vereinfacht:
    HTML-Code:
    <script>
      jQuery('table').wrap('<div class="table-scrollable"></div>');
    </script>
    Geändert von Spooky (10.04.2019 um 12:47 Uhr)

  4. #4
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du hast sowohl jQuery als auch MooTools eingebunden, das führt zu Konflikten (Abhilfe Stichwort noConflict Modus) und man sollte das möglichst sowieso vermeiden, weil eben zwei relativ große Dateien geladen werden müssen statt nur eine.

  5. #5
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Hi,

    Zitat Zitat von Fehrmann Beitrag anzeigen
    Hi,
    wahrscheinlich ist jQuery im Seitenlayout nicht aktiviert.

    laut Quellcode sind sowohl jQuery als auch Mootools fürs Frontend aktiviert.

    Könnte das nicht einen Konflikt auslösen? Du könntest statt
    Code:
    $(document).ready(function()
    einfach mal
    Code:
    jQuery(document).ready(function()
    probieren oder den "noconflict" Ansatz prüfen:
    https://api.jquery.com/jquery.noconflict/
    Bin aber gerade unsicher, ob der noch aktuell ist...

    Arno

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    jQuery.noconflict() ist nicht für diesen Fall gedacht. Das braucht man, wenn man mehrere jQuery Versionen gleichzeitig einsetzen will.

  7. #7
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Hallo Spooky,

    Zitat Zitat von Spooky Beitrag anzeigen
    jQuery.noconflict() ist nicht für diesen Fall gedacht. Das braucht man, wenn man mehrere jQuery Versionen gleichzeitig einsetzen will.
    Liest sich für mich aber so als ob man es sowohl für die Verwendung von zwei jQuery Versionen als auch anderen Javascript Libraries (wie Mootools) benutzen kann:
    If you need to use another JavaScript library alongside jQuery, return control of $ back to the other library with a call to $.noConflict().
    von: https://api.jquery.com/jquery.noconflict/

  8. #8
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    jQuery.noconflict() ist nicht für diesen Fall gedacht. Das braucht man, wenn man mehrere jQuery Versionen gleichzeitig einsetzen will.
    Ah ja, wieder was gelernt. War das schon immer so?

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Zitat Zitat von Arno Beitrag anzeigen
    Hallo Spooky,



    Liest sich für mich aber so als ob man es sowohl für die Verwendung von zwei jQuery Versionen als auch anderen Javascript Libraries (wie Mootools) benutzen kann:

    von: https://api.jquery.com/jquery.noconflict/
    Ja - aber das würde in diesem Fall nichts nutzen, da MooTools nach jQuery geladen wird und MooTools daher die Kontroller über $ übernommen hat, nicht umgekehrt.

  10. #10
    Contao-Nutzer
    Registriert seit
    03.09.2010.
    Beiträge
    136

    Standard

    Danke für die schnellen Antworten.
    j-Query und Mootools war der Konflikt.

  11. #11
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja - aber das würde in diesem Fall nichts nutzen, da MooTools nach jQuery geladen wird und MooTools daher die Kontroller über $ übernommen hat, nicht umgekehrt.
    Okay, das kann natürlich sein.
    In jedem Fall würde ich persönlich es vermeiden sowohl jQuery als auch Mootools parallel zu verwenden. Da stellt man sich nur selber ein Bein.

    Liebe Grüße!

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Zitat Zitat von joelehmann Beitrag anzeigen
    Danke für die schnellen Antworten.
    j-Query und Mootools war der Konflikt.
    Du hast MooTools nun deaktiviert, die Änderungen am Script würde ich dir dennoch empfehlen.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •