Nefungující metoda init() po načtení souboru nette.ajax.js

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
serten
Člen | 55
+
0
-

Zdravím, nejspíš je to blbá otázka, ale dost dlouho se s tím štvu a nikde sem nenašel odpověď ani řešení. Použil sem skript nette.ajax.js od Vojtěcha Dobeše, ale to mi při inicializaci v samostatném souboru main.js

$(function () {
    $.nette.init();
});

píše chybu Uncaught TypeError: Cannot call method ‚init‘ of undefined.
Načtení souborů bych měl mít v dobrém pořadí.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="{$basePath}/js/nette.ajax.js"></script>
<script type="text/javascript" src="{$basePath}/js/main.js"></script>

Nevíte, čím by tohle mohlo být?
Díky za pomoc

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Zkus někam nahrát kód aplikace, uveď verzi nette.ajax.js, kterou používáš, a snad se k něčemu doberem :). Tu chybu by ti to rozhodně vyhazovat nemělo, but who knows why it does.

serten
Člen | 55
+
0
-

Tak dal sem do archivu složky app a www. Archiv sem nahrál sem: http://uloz.to/…apliakce-rar
Je to zatím jen mírně upravenej sandbox. Jinak verze nette.ajax.js je 1.2.1.

Díky moc za pomoc.

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Hm, když se tak dívám na ten @layout.latte, mohlo by to být možná tím, že to druhé načtení jQuery zruší nette.ajax.js. Proto pak tu metodu $.nette.init() nakonec nenajde. Být tebou, tak bych zrušil ty skripty z <head> a nechal to pěkně jen na konci </body>, jak to máš, a samozřejmě dodržel že nejdřív jQuery, potom nette.ajax.js. Napiš, jestli to pomůže :).

Ten <script language... vyhoď a úplně vespod si nalinkuj main.js, to je vhodná cesta.

Editoval vojtech.dobes (9. 2. 2013 6:16)

serten
Člen | 55
+
0
-

Super, už to konečně funguje :-) Vůbec jsem si nevšiml, že skripty mají samostatnej blok dole. Ze zvyku sem to strkal zase do HEAD. Díky moc za pomoc ;-)