Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Umieszczanie kodu
djtomaszq
post 9.08.2015, 09:12:30
Post #1





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 5.07.2015

Ostrzeżenie: (0%)
-----


Zaczołem naukę jquery i mam takie proste pytanie. Wiem, że kod umieszcza się w sekcji <head> </head> jeśli zacznę pisać wiele funkcji jquery to czy jest jakieś znaczenie czy będę pisał poprostu jeden kod pod drugim czy też można w head includować jakis plik w którym będą tylko kody funkcji jquery ?

np. mam w index.php
  1. <head>
  2.  
  3. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  4.  
  5. <script type="text/javascript">
  6. $(document).ready(function()
  7. {
  8. $("#tom").click(function()
  9. {
  10. $("h1").css("color","#12FA56").hide(2000);
  11. });
  12.  
  13. });
  14.  
  15. $(document).ready(function()
  16. {
  17. $("h2").click(function()
  18. {
  19. $("h2").css("color","red");
  20. });
  21.  
  22. });
  23. </script>
  24.  
  25. $(document).ready(function()
  26. {
  27. $("#przycisk").click(function()
  28. {
  29. $("#logo").css("color","gold");
  30. });
  31.  
  32. });
  33.  
  34. </head>


i jeszcze z 10 takich i innych kodów i czy nie lepiej / (czy tak jest dobrze) zrobić tak:

  1. <head>
  2. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  3.  
  4. include 'jquery.php';
  5. </head>
Go to the top of the page
+Quote Post
goartur
post 9.08.2015, 09:25:46
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 19.10.2014

Ostrzeżenie: (0%)
-----


Chyba najlepiej jest poprostu dodac skrypt do pliku jquery.js
i nastepnie w index uzyc:

  1. <script src="jquery.js"></script>
Go to the top of the page
+Quote Post
Skie
post 9.08.2015, 09:39:25
Post #3





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Zawsze lepiej jest zmniejszać liczbę requestów do serwera - każdy plik JS ładowany w ten sposób - to kolejny request. Dlatego opcja nr2 to jedyna słuszna opcja.

Dodatkowo, w większych projektach po stronie serwera robi się to tak, że wszystkie pliki *.js, które projekt używa są sklejane razem w jeden wynikowy plik, który jest wysyłany do przeglądarki.


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
Comandeer
post 9.08.2015, 12:40:00
Post #4





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


No to trochę teraz zamieszam… wink.gif

A jeśli strona stoi na HTTP/2 i można zastosować push? Wówczas nie ma znaczenia de facto ile plików będziemy mieli. Dodatkowo wklejenie wszystkiego w head nie działa domyślnie z aplikacjami stojącymi na serwerach z CSP.

Sensowny sposób, który jest dobrym kompromisem, to to, co proponuje H5BP: dwa pliki JS. jQuery ciągnięte z CDN oraz nasz lokalny plik z kodem JS, zminifikowany. Jeśli będziemy jQuery ciągnąć z CDN Google jest szansa, że user ten plik już ma, więc zostanie pobrany z cache. Natomiast zostanie dociągnięty tylko drugi plik. Oczywiście obydwa powinny być na końcu body, nie zaś w head (w head jedynie asynchroniczny kod statystyk można wstawić) → https://developer.yahoo.com/performance/rules.html#js_bottom

Przykład z H5BP: https://github.com/h5bp/html5-boilerplate/b.../index.html#L25

Inline'ować kod JS można jeśli strona spełnia trzy warunki:
1) nie stoi na CSP
2) kodu JS nie jest za dużo
3) jest on zminifikowany
Wówczas i tak lepiej inline'ować na końcu body (żeby strona zaczęła się renderować jak najszybciej).


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 04:50