Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt]JSCache 1.1
Forum PHP.pl > Inne > Oceny
yaro
Przedstawiam mój najnowszy skrypt, co prawda nie w PHP ale za to w JavaScript'cie winksmiley.jpg

JSCache 1.1 jest to skrypt napisany w JavaScript'cie pozwalający cachować, przechowywać dane w pamięci przeglądarki user'a. JSCache wykorzystuje mechanizm globalStorage wprowadzony w HTML 5. Dane zostaną zapamiętane nawet po zamknięciu przeglądarki, po ponownym jej uruchomieniu będą z powrotem dostępne.

W założeniu mamy do dyspozycji 5MB, choć prawdopodobnie Opera będzie ograniczać do 3MB. Jak na razie tylko Firefox 2.x obsługuje globalStorage. Z tego powodu skrypt niestety nie będzie wszechstronny.

JSCache w znaczny sposób przyspiesza czas dostępu do już wcześniej pobranych danych. Zmniejsza częstotliwość komunikacji przeglądarki z serwerem przez AJAX'a. Na pewno będzie miało to znaczenie w przypadku aplikacji webowych.

Więcej na stronie: http://jscache.ajaxin.pl
DEMO: http://jscache.ajaxin.pl/demo/jscache.html

Jeszcze przykład użycia:
Kod
var cache = new JSCache('localhost.localdomain');

var myJSONObject = {"bindings": [
    {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
  ]
};

cache.save('as', myJSONObject, {ttl: 5});

var ob = cache.get('obj1');
alert(ob.bindings[0].method);


Mam nadzieję że komuś się przydaten skrypt smile.gif
SHiP
Fajne winksmiley.jpg pomysl mi się podoba, wykonanie też tylko to demo jest jakieś dziwne - nie działa w Operze :/
yaro
SHiP - tylko Firefox jak na razie obsługuje HTML'a 5 sad.gif Mam nadzieję że sie to za niedługo zmieni.
lanco
Hej, jak to zrobic w firefoxie 3.0, bo wyskakuje zawsze błąd ochrony.
bim2
Jak mówił kolega wyżej:
Cytat
uncaught exception: Security error (NS_ERROR_DOM_SECURITY_ERR)
[Break on this error] this.storage = globalStorage[d];
yaro
O! a to firefox 3 nie lubi mnie? tongue.gif
Zajmę sie tym w najbliższym czasie, (mam dużo do nauki - kolos za kolosem winksmiley.jpg ), postaram sie jak najszybciej zajrzeć do tego.
Widać że coś zmienili w firefoxie z bezpieczeństwem sad.gif
------------
Dzisiaj (26.11.2008) - znalazłem troche czasu i spróbowałem rozwiązać problem. Na próbach sie jak na razie skończyło sad.gif
Jak na mój gust, jak na razie, po zmianach w specyfikacji HTML'a 5, w firefoxie 3 jest pokręcona implementacja DOM Storage, coś jest namieszane. Oczywiście może ja czegoś jeszcze nie dostrzegam tongue.gif

Tak więc jak na razie to przewiduje problem z poprawnym działaniem tego skryptu, ale sie pocieszam że inne przykłady, nie tylko moje, też nie działają biggrin.gif

Nie poddaje sie i mam nadzieje ze juz za niedługo będzie wszystko ok.

------------
28.11.2008

Udało mi sie ustalić że ze specyfikacji HTML'a 5 usunięto dotychczasowy model przechowywania danych po stronie klienta (chodzi o globalStorage) i w Firefoxie 3 nie został juz zaimplementowany, ale w zamian wprowadzono (do specyfikacji) localStorage, lecz jeszcze nie zostało to zaimplementowane w Firefoxie 3 sad.gif
Jak na razie nie da sie nic zrobić, trzeba czekać, po prostu kiszka.

JSCache powinien działać pod Firefoxem 2.x

Jak sie tylko coś zmieni to postaram sie jak najszybciej poprawić i napisać o tym.
lanco
Dzięki za szybka reakcję. Na razie korzystam z 'sessionStorage' a to działa w Firefoxie 3.0.
W mojej aplikacji to wystarczy bo przy logowaniu zasysam wszystkie potrzebne dane do javascriptu i potem nie muszę ich ponownie ładować w każdym skrypcie php.
Jest to nawet korzystniejsze dla mnie, bo wprowadzam dużo zmian w skryptach i mam problem z ich aktualizacją na komputerach użytkowników.
Może ktoś wie jak wymusić w Firefoxie pobranie za pierwszym logowaniem wszystkich aktualnych skryptów w plikach .js z serwera a nie z casha przeglądarlki, albo jak wyczyścić cash.

Paweł.
yaro
hmm, mysle że zmiana nazwy pliku by tu najszybciej i najpewniej pomogła. Domyślam sie ze zmienianie non stop nazwy odpada, wice może dodaj jakiś ciąg znaków na końcu, jakieś losowy numer.

7 luty 2009
JSCache został naprawiony! Poszukałem, pogrzebałem, podumałem i działa tongue.gif

Tak więc zapraszam na stronę projektu i oczywiście do testowania, wszystkie błędy, problemy proszę zgłaszać. Starałem się przetestować, ale zawsze coś może być źle.
mls
Oczywiste jest, że skrypt nie działa.
Kod
ReferenceError: Can't find variable: globalStorage
http://jscache.ajaxin.pl/code/op/jscache.js (line 11)

Safari 3.2.1, OS X 10.5.6
yaro
Jak na razie w Safari DOM Storage nie został zaimplementowany. Firefox tylko i wyłącznie, choć słyszałem że w IE 8 mają wprowadzić, jeszcze nie sprawdzałem czy jest.
mls
Za to Safari obsługuje client-side database storage, zgodne z HTML5.
yaro
Nie wiedziałem. Dzięki. Dawno nie przeglądałem specyfikacji HTML'a 5. Musze się zająć tym smile.gif, jak tylko sesja sie skończy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.