Cum acest cod aruncă o
Neprins ReferenceError: $ nu este definit
când era mai BINE înainte?
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
Rezultate în file don't mai aproape.
jQuery este menționată în antet:
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>
Tu ar trebui să pună referințe la script-uri jquery prima.
<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>
Aceasta este ceea ce a rezolvat-o pentru mine. Inițial m-am dus la Google și copiate și lipite lor a sugerat fragment de jQuery pe CDN pagina:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Fragmentul nu include HTTP: "sau" HTTPS: "în" src
atribut, dar browser-ul meu, FireFox, avea nevoie de ea, așa că am schimbat la:
edit: aceasta a lucrat pentru mine cu Google Chrome, precum și
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Apoi a functionat.
Dacă script-ul personalizat este încărcat înainte de jQuery plugin-ul este încărcat la browser-ul, atunci acest tip de problemă poate apărea. Deci, păstrați-vă întotdeauna propriile JavaScript sau jQuery cod după ce a sunat la plugin jQuery deci, soluția pentru acest lucru este :
În primul rând adăuga link-ul de la jQuery file găzduit la GoogleApis sau un local de jQuery file pe care le va descărca de la http://jquery.com/download/ și de a găzdui pe server:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
sau vreun plugin pentru jQuery. Apoi pune custom script file link-ul sau codul:
<script src="js/custom.js" type="text/javascript"></script>
În cazul meu, am fost să-mi pun .js fișier înainte de jQuery script link-ul, pune
.js fișiere după jQuery script link-ul mi-a rezolvat problema.
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>
Ok, problema mea a fost diferit - a fost Document de Securitate model Chrome.
Se uită la răspunsurile de aici, era evident că am fost într-un fel nu-mi încarce fișiere jquery înainte de a apela la $(document).gata()
etc. funcții. Cu toate acestea, toate acestea au fost în pozițiile corecte.
În cazul meu, acest lucru a fost pentru că am fost accesarea de conținut printr-o conexiune securizată HTTPS, întrucât pagina a fost încercarea de a descărca CDN găzduit de date de la google, etc. Soluția a fost de a le stoca local și apoi să includă apoi în mod direct, mai degrabă decât de la CDN de fiecare dată.
Edit: alt mod de a face acest lucru este de a link-ul de la toate CDN-a găzduit lucruri ca https://, mai degrabă decât http:// - atunci modelul nu't se plâng.
Adaugă biblioteca înainte de a începe script.Puteți adăuga oricare dintre următoarele CDN să-l înceapă.
Google:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Microsoft
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
Jquery
Dacă doriți orice alte Jquery cdn versiune a verifica acest lucru link.
După asta:
<script type="text/javascript">
$(function(){
//your stuff
});
or
$(document).ready(function(){
//your stuff
});
</script>
Wordpress:
<script type="text/javascript">
var $ = jQuery;
jQuery(document).ready(function($){
//your stuff
});
</script>
Am avut exact aceeasi problema si nici una dintre aceste soluții de mai sus ajutat.
cu toate acestea, am legat .css fișiere după
.js fișiere, și problema a dispărut în mod miraculos. Sper că acest lucru vă ajută.
Am vrut să încerc să-mi fac script asincron. Apoi am uitat de el si cand m-am dus direct la [custom].js fișiere încărcate doar 50% din timp, înainte de jQuery.js.
Asa ca am schimbat
<script async src="js/script.js"></script>
pentru a
<script src="js/script.js"></script>
În cazul meu, am avut această referenceError ca ordinea de script apeluri a fost greșit. Rezolvat prin schimbarea ordinii:
<script src="js/index.js"></script>
<script src="js/jquery-1.10.2.js"></script>
pentru a
<script src="js/jquery-1.10.2.js"></script>
<script src="js/index.js"></script>
Sunt de asteptare gata()
funcția înainte de jQuery JavaScript este inclus. Referință jQuery prima.
Daca're în ASP.NET MVC, puteți specifica atunci când JS cod ar trebui să fie prestate, de a face acest lucru:
1, În pagină.cshtmlwrap
<script> tag într-o secțiune, și să dea un nume, numele comun de a utiliza este 'script':
@section scripts {
<script>
// JS code...
</script>
}
2, În _Layout.cshtml pagina adauga
@RenderSection("Script", este necesar: false)`, asigurați-vă că să-l pună după trimitere la sursă Jquery, acest lucru va face dumneavoastră de cod JS face mai târziu decât Jquery.
Am avut aceeasi problema , si am rezolvat prin punerea jQuery în partea de sus a toate javascript coduri am în codul meu.
Ceva de genul asta:
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="js/app.js" type="text/javascript"></script>
<script src="js/form.js" type="text/javascript"></script>
<script src="js/create.js" type="text/javascript"></script>
<script src="js/tween.js" type="text/javascript"></script>
Sper că pot ajuta pe cineva in viitor.
Dacă faci acest lucru în .Net și fișierul script face referire în mod corespunzător și se jQuery arata bine, asigurați-vă că utilizatorii au acces la fișier script. Proiectul nu a fost de lucru pe (un coleg) a lor web.config refuzarea accesului la utilizatorii anonimi. Pagina nu a fost de lucru pe a fost accesibil pentru utilizatorii anonimi, prin urmare, ei nu't au acces la fișier script. A renunțat la următoarele în web.config și totul era bine în lume:
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Acest lucru s-a întâmplat cu mine înainte.
Motivul a fost că m-am'm conectarea android la un webview cu un JS. Și i-am trimis un parametru fără ghilimele.
js.sayHello(hello);
și când l-am schimbat cu
js.sayHello('hello');
ea a lucrat.
Fișierul sursă jquery-1.2.6.min.js
nu este numit jQuery comanda $()
este executat mai devreme de <..src='jquery-1.2.6.min.js'>
.
Vă rugăm să rulați `<.. src="/js/jquery-1.2.6.min.js.."> la prima și asigurați-vă că src calea e dreapta, apoi executa jquery comanda
$(document).ready(function()
Eroarea va avea loc în următoarele două scenarii la fel de bine.
Deci 3 lucruri pentru a fi urmată - check script-urile necesare sunt adăugate, verificați dacă acesta este adăugat în ordinea cerută și al treilea erori de sintaxă în Java Script.
JavaScript fișier lipsește, astfel încât această eroare a avut loc. Doar adăugați fișiere JavaScript în interiorul `
tag. A se vedea de exemplu:<script src="js/sample.js" type="text/javascript"></script>
<link href="css/sample.css" rel="stylesheet" type="text/css" />
sau adăugați următorul cod în
tag-ul :<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>