web-dev-qa-db-ger.com

JavaScript-Laufzeitfehler: '$' ist nicht definiert

Also ein klassisches Problem, aber eine schreckliche Zeit, um die eigentliche Ursache zu finden. Wenn ich diesen Fehler sehe, liegt dies in der Regel daran, dass der jQuery-Verweis nach dem erforderlichen Code oder jQuery-Link, oder jQuery-Konflikt usw. besteht. Bislang scheint dies jedoch nicht der Fall zu sein. Leider hat die Suche nach der Lösung dieses Problems dazu geführt, dass solche Fälle post für post veröffentlicht wurden. Ich bin mir sicher, dass mein Problem hier genauso einfach ist, aber über eine Stunde Jagd immer noch kein Glück ...

Bearbeiten: Zusätzliche Informationen ....__ Die Lösungsdatei (die ich mehrmals neu versucht habe, um dies herauszufinden. Ist eine JavaScript-Vorlage für Windows Store Blank App, und ich mache dies in Visual Studio. Die einzigen Referenzdateien sind Windows-Bibliothek für Javascript 1.0, ich habe versucht, dieses zu löschen, um auch zu testen.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>HTML5 Canvas Template</title>
        <style>
            /* styles here */
        </style>
    </head>
    <body>
        <canvas id="myCanvas" width="500" height="500">
            <p>Canvas not supported.</p>
        </canvas>

        <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                var canvas = $("#myCanvas").get(0);
                var context = canvas.getContext("2d");

                function renderContent()
                {
                    // we'll do our drawing here...
                }

                renderContent();
            });
        </script>
</body>
</html>
10
RualStorge

Es gibt an, dassJQuerydie angegebene URL nicht korrekt ist 

Versuche dies:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
12
coder

Ich habe alles oben ausprobiert und nichts scheint zu funktionieren, bis ich diese Zeichenfolge gesetzt habe 

<script src="../scripts/jquery-2.2.3.min.js" type="text/javascript"></script>

im Kopfbereich der HTML-Datei. So sieht es aus:

<!DOCTYPE html>
<html>
<head>

    <!-- jQuery Reference -->
    <script src="../scripts/jquery-2.2.3.min.js" type="text/javascript"></script>

    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />


    <title>some title</title>

</head>
<body>
...

Die js-Datei befindet sich auf einer Ebene unterhalb des Ordners 'scripts' . Schließlich ist der Fehler verschwunden und was für eine Erleichterung!

2

In meinem Fall bestand das Problem darin, dass ich meine Seite über https renderte, aber versuchte, die JQuery-Datei über http anzufordern, die aus Sicherheitsgründen von vielen Browsern blockiert wird.

Mein Fix war, das zu ändern ...

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

... dazu ...

<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>

Dadurch lädt der Browser JQuery mit demselben Protokoll (http oder https) wie die gerenderte Seite herunter.

1
Chris Gillum

Einige meiner Kunden hatten dieses Problem, weil sie das Laden von Javascript von Websites Dritter blockiert haben. Daher verwende ich jetzt immer folgenden Code, um jQuery einzuschließen:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
window.jQuery || 
document.write('<script type="text/javascript" src="/js/jquery-1.9.1.min.js">\x3C/script>')
</script>

Dies stellt sicher, dass selbst wenn mein Client das Laden der Javascript-Datei aus der CDN-Domäne blockiert, der Client die Datei noch von meinem eigenen Server herunterlädt, der vom Browser nicht blockiert wird.

1
Pascal Klein

Eine Over-Variante in meinem Fall - ich musste Proxy benutzen. Also - IE11 -> InternetOptions -> Verbindungen -> LANSettings-Proxy Server -> UseProxyServer - sollte geprüft werden . Überprüfen Sie auch die Verfügbarkeit der jQUery-Skriptquelle, meine Variante in VS2012 - - wie in dem Top-Beispiel

0
user3801205