jquery na produkcnom serveri nepracuje spravne

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

Vedeli by ste mi poradit, preco mi nepracuju ziadne javascriptove veci na produkcnom serveri? Na localhoste pracovalo vsetko v poriadku, no dal som to na produkcny server a zrazu neide nic. Skusal som aj jednoduche veci typu alert(„hello“); ale ani to sa nezobrazilo.

David Matějka
Moderator | 6445
+
0
-

nehlasi developer konzole nejakou chybu?

Matej123
Člen | 150
+
0
-

uz som to opravil tak, ze uz vypise „Hello“ v alerte (opat bola na vine cache), ale stale mi ostatne veci neidu, pricom na localhoste isli, neviem preco

David Matějka napsal(a):

nehlasi developer konzole nejakou chybu?

GEpic
Člen | 566
+
0
-

Tak funkce alert(); je Javascript, pokud nejde ani ta, nemá cenu zkoušet jQuery… Pokud ti ale alert() jde, zkontroluj si přes zdrojový kod na produkčnim serveru cestu k jQuery (otevři zdroják a klikni na cestu k jQuery a uvidíš, jestli je správně nalikovanej)

Editoval GEpic (5. 1. 2016 20:01)

Matej123
Člen | 150
+
0
-

V layoute mam tieto skripty nalinkovane:

<script type=„text/javascript“ src=„http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js“></script>
<script src=„http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js“ type=„text/javascript“></script>

<script src=„code.jquery.com/jquery-1.11.2.min.js“></script>
<script src=„
nette.github.io/resources/js/netteForms.min.js“></script>
<script src=„http://code.jquery.com/jquery-1.9.1.js“></script>
<script src=„http://code.jquery.com/ui/1.10.3/jquery-ui.js“></script>
<script src=„{$basePath}/js/jquery.timePicker.js“></script>
<script src=„{$basePath}/js/jquery.timePicker.min.js“></script>
<script src=„{$basePath}/js/bootstrap.js“></script>
<script src=„{$basePath}/js/bootstrap.min.js“></script>
<script src=„{$basePath}/js/bootstrap-submenu.js“></script>
<script src=„{$basePath}/js/bootstrap-submenu.min.js“></script>
<script src=„{$basePath}/js/main.js“></script>

A idu mi len niektore veci, napriklad taky datepicker mi funguje ale timepicker uz nie :( .

GEpic napsal(a):

Tak funkce alert(); je Javascript, pokud nejde ani ta, nemá cenu zkoušet jQuery… Pokud ti ale alert() jde, zkontroluj si přes zdrojový kod na produkčnim serveru cestu k jQuery (otevři zdroják a klikni na cestu k jQuery a uvidíš, jestli je správně nalikovanej)

David Matějka
Moderator | 6445
+
0
-

zeptam se znovu, nehlasi developer konzole nejakou chybu?

GEpic
Člen | 566
+
0
-

Protože používáš 2 různé verze jQuery, které ti mezi sebou kolidují

PS: 4 verze…

Editoval GEpic (5. 1. 2016 20:16)

Matej123
Člen | 150
+
0
-

aku konzolu mas na mysli? pripadne kde to najdem ?

David Matějka napsal(a):

zeptam se znovu, nehlasi developer konzole nejakou chybu?

David Matějka
Moderator | 6445
+
+1
-

a btw,

<script src="code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="nette.github.io/resources/js/netteForms.min.js"></script>

nemuze fungoat, jelikoz tam nemas http:// (a navic bys mel jquery zdvojeny).. a proc vkladas nektery js 2x? jednou normalni a jednou minifikovany

a precti si, jak formatovat kod: https://forum.nette.org/…v-tomto-foru#…


developer konzoli spustis F12 v prohlizeci

Matej123
Člen | 150
+
0
-

ospravedlnujem sa ale do jquery moc nevidim, vedeli by ste mi povedat teda ktorych odkazov sa mam zbavit aby to fungovalo? :)

David Matějka napsal(a):

a btw,

<script src="code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="nette.github.io/resources/js/netteForms.min.js"></script>

nemuze fungoat, jelikoz tam nemas http:// (a navic bys mel jquery zdvojeny).. a proc vkladas nektery js 2x? jednou normalni a jednou minifikovany

a precti si, jak formatovat kod: https://forum.nette.org/…v-tomto-foru#…


developer konzoli spustis F12 v prohlizeci

GEpic
Člen | 566
+
0
-

To záleží na tom jakou verzi jQuery vyžadují ostatní pluginy které využíváš. 1.11.2 verzi využiješ pro Bootstrap, ostatní věci si musíš zjistit na internetu od koho ten plugin využíváš, a také zjistit jestli nejsou novější verze pluginů pro novější jQuery. Tohle je peklo, kdyžtak ti můžu sem můžu napsat kod, jak používat 2 různé verze jQuery, ale to jen tehdy, pokud to nevyřešíš jednou verzí… Je to pak totiž peklo…

Taktéž nezapomen JS soubory používat vždy VE SPOD HTML stránek.

<script type=„text/javascript“ src=„http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js“></script> <!-- Nepotřebuješ -->
<script src=„http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js“ type=„text/javascript“></script> <!-- Nepotřebuješ -->
<script src=„code.jquery.com/jquery-1.11.2.min.js“></script>
<script src=„nette.github.io/resources/js/netteForms.min.js“></script>
<script src=„http://code.jquery.com/jquery-1.9.1.js“></script> <!-- Nepotřebuješ -->
<script src=„http://code.jquery.com/ui/1.10.3/jquery-ui.js“></script> <!-- NEJSPÍŠ Nepotřebuješ -->
<script src=„{$basePath}/js/jquery.timePicker.js“></script> <!-- Nepotřebuješ -->
<script src=„{$basePath}/js/jquery.timePicker.min.js“></script>
<script src=„{$basePath}/js/bootstrap.js“></script> <!-- Nepotřebuješ -->
<script src=„{$basePath}/js/bootstrap.min.js“></script>
<script src=„{$basePath}/js/bootstrap-submenu.js“></script> <!-- Nepotřebuješ -->
<script src=„{$basePath}/js/bootstrap-submenu.min.js“></script>
<script src=„{$basePath}/js/main.js“></script>

Samozřejmě si oprav cesty, viz. komentář od David Matějka.

Jinak: (vyber verzi kterou potřebuješ)
https://plugins.jquery.com/jt.timepicker/

Editoval GEpic (5. 1. 2016 20:23)

Matej123
Člen | 150
+
0
-

Dakujem. Dosiahol som aspon to ze mi funguje submenu v bootstrapovom menu, no nefunguje mi datepicker a timepicker :) Ak stiahnem z githubu doplnok, ktore js mi staci includnut?

GEpic napsal(a):

To záleží na tom jakou verzi jQuery vyžadují ostatní pluginy které využíváš. 1.11.2 verzi využiješ pro Bootstrap, ostatní věci si musíš zjistit na internetu od koho ten plugin využíváš, a také zjistit jestli nejsou novější verze pluginů pro novější jQuery. Tohle je peklo, kdyžtak ti můžu sem můžu napsat kod, jak používat 2 různé verze jQuery, ale to jen tehdy, pokud to nevyřešíš jednou verzí… Je to pak totiž peklo…

Taktéž nezapomen JS soubory používat vždy VE SPOD HTML stránek.

<script type=„text/javascript“ src=„http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js“></script> <!-- Nepotřebuješ -->
<script src=„http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js“ type=„text/javascript“></script> <!-- Nepotřebuješ -->
<script src=„code.jquery.com/jquery-1.11.2.min.js“></script>
<script src=„nette.github.io/resources/js/netteForms.min.js“></script>
<script src=„http://code.jquery.com/jquery-1.9.1.js“></script> <!-- Nepotřebuješ -->
<script src=„http://code.jquery.com/ui/1.10.3/jquery-ui.js“></script> <!-- NEJSPÍŠ Nepotřebuješ -->
<script src=„{$basePath}/js/jquery.timePicker.js“></script> <!-- Nepotřebuješ -->
<script src=„{$basePath}/js/jquery.timePicker.min.js“></script>
<script src=„{$basePath}/js/bootstrap.js“></script> <!-- Nepotřebuješ -->
<script src=„{$basePath}/js/bootstrap.min.js“></script>
<script src=„{$basePath}/js/bootstrap-submenu.js“></script> <!-- Nepotřebuješ -->
<script src=„{$basePath}/js/bootstrap-submenu.min.js“></script>
<script src=„{$basePath}/js/main.js“></script>

Samozřejmě si oprav cesty, viz. komentář od David Matějka.

Jinak: (vyber verzi kterou potřebuješ)
https://plugins.jquery.com/jt.timepicker/

GEpic
Člen | 566
+
0
-

Co se týče TimePickeru

Tak do <head>:
jquery.timepicker.css

Do spodu HTML kodu, klidně nakonec před </body>:
jquery.timepicker.min.js

PS: Proč používáš Bootstrap submenu? Bootstrap (v.3) má podporu pro dropdown menu.

Veškeré pluginy instaluji přes Bower a nemusím se absolutně o nic starat.

Příklad u mě (@layout.lattte):

<!-- jQuery -->
<script src="{$basePath}/components/jquery/dist/jquery.min.js"></script>

<!-- Bootstrap Core JavaScript -->
<script src="{$basePath}/components/bootstrap/dist/js/bootstrap.min.js"></script>

<!-- DataTables JavaScript -->
<script src="{$basePath}/components/datatables/media/js/jquery.dataTables.js"></script>
<script src="{$basePath}/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.js"></script>

<!-- FullCalendar JavaScript -->
<script src="{$basePath}/components/fullcalendar/lib/moment.min.js"></script>
<script src="{$basePath}/components/fullcalendar/fullcalendar.min.js"></script>

<!-- Nette JavaScript -->
<script src="{$basePath}/js/jquery.nette.js"></script>
<script src="//nette.github.io/resources/js/netteForms.min.js"></script>

	<!-- Pokud chci použít v podšablonách nějaký vlastní jQuery prvky, nebo cokoliv -->
{ifset scripts}
    {include scripts}
{/ifset}

Příklad v podšabloně, aby se používal JS / jQuery jen na určitých stránkách.

{block scripts}
    <script>
        $('.reasons').tooltip({
            selector: "[data-toggle=tooltip]",
            container: "body"
        })

        $(".free").click(function() {
          window.location.href = $(this).find("a.text-success").attr("href");
        });
    </script>
{/block}

Editoval GEpic (5. 1. 2016 20:53)