Technologie i narzędzia: język PHP 5, Java, JavaScript, Python, system Zend Framework, Django, biblioteka jQuery, Smarty, platforma Eclipse, MySQL, SVN, CVS, UML, Firefox.
WebProgramming - wszystko o serwisach internetowych
O serwisach internetowych.
[javascript] Ciekawostki i podpowiedzi.
Jeżeli piszesz coraz więcej i coraz większe aplikacje w JavaScript zapraszam do zapoznania się z kilkoma uwagami (np. jak uruchomić kilka równolegle wykonujących się wątków), które prawdopodobnie ułatwią ci pracę.
- Język JS jest jednowątkowy i niestety nie można tworzyć kilku równolegle wykonujących się wątków - przynajmniej bezpośrednio. Obejście tego ograniczenia jest proste. Załóżmy, że chcemy wykonać metodę updateContent równolegle dla kilku elementów:
-
-
for(var i in elements) {
-
setTimeout(1, function() {
-
updateContent(elements[i])
-
});
-
}
W ten sposób zostanie wykonanych elements.length metod równolegle - jedynym minusem tego rozwiązania jest minimalne (liczone w ms) opóźnienie.
-
- Strona będzie się szybciej ładowała, jeżeli wszystkie skrypty JavaScript umieścimy na samym dole strony (przed zamknięciem znacznika <body>), dzięki temu strona zostanie wyświetlona, a dopiero później skrypty JS (patrz też punkt 3 oraz 4).
- Nie umieszczaj kody JavaScript bezpośrednio w znacznikach HTML (czyli w źródle strony) - aktualnie dzięki bibliotekom takim jak Prototype oraz jQuery można tego uniknąć. Jest to również bardzo ważne ze względu na punkt 2, ponieważ funkcje JavaScript są dostępne dopiero po załadowaniu strony, przez co akcja (np kliknięcie) użytkownika może spowodować błąd JavaScript. Dodatkowo wprowadza to kolejną warstwę w serwisie (podobnie jak oddzielenie PHP od HTML) i tym samym ułatwia prace webmasterom i programistom.
- Wszelkie operacje DOM strony realizuj po załadowaniu strony (czyli po wykonaniu zdarzenia onload), w przeciwnym przypadku w niektórych przeglądarkach (czytaj Internet Explorer) mogą pojawiać się błędy. W tym przypadku również trzeba zwrócić uwagę na kwestie poruszane w punkcie 3.
- Sterowanie cachowaniem skryptów JavaScript:
- wpisuj numer wersji na końcu nazwy pliku (jako parametr), dzięki czemu będziesz miał pewność, że przy uaktualnieniu pliku wszyscy użytkownicy ściągną jej najnowszą wersje, na przykład:
<script… src=”mojskrypt.js?ver=1.2″> - podobnie jeżeli nie chcesz, aby plik był cachowany dodaj do jego nazwy aktualny czas, czyli:
<script… src=”mojskrypt.js?ver=<?= time() ?>” >
- wpisuj numer wersji na końcu nazwy pliku (jako parametr), dzięki czemu będziesz miał pewność, że przy uaktualnieniu pliku wszyscy użytkownicy ściągną jej najnowszą wersje, na przykład:
Powodzenia ![]()
Napisz komentarz