Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt]JSCache 1.1
yaro
post
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

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


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


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
SHiP
post
Post #2





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Fajne winksmiley.jpg pomysl mi się podoba, wykonanie też tylko to demo jest jakieś dziwne - nie działa w Operze :/


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
yaro
post
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

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


SHiP - tylko Firefox jak na razie obsługuje HTML'a 5 sad.gif Mam nadzieję że sie to za niedługo zmieni.


--------------------
Go to the top of the page
+Quote Post
lanco
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.05.2008

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


Hej, jak to zrobic w firefoxie 3.0, bo wyskakuje zawsze błąd ochrony.
Go to the top of the page
+Quote Post
bim2
post
Post #5





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Jak mówił kolega wyżej:
Cytat
uncaught exception: Security error (NS_ERROR_DOM_SECURITY_ERR)
[Break on this error] this.storage = globalStorage[d];


--------------------
Go to the top of the page
+Quote Post
yaro
post
Post #6





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

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


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.

Ten post edytował yaro 28.11.2008, 20:51:23


--------------------
Go to the top of the page
+Quote Post
lanco
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.05.2008

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


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ł.
Go to the top of the page
+Quote Post
yaro
post
Post #8





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

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


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.

Ten post edytował yaro 7.02.2009, 23:49:44


--------------------
Go to the top of the page
+Quote Post
mls
post
Post #9





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


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


--------------------
Go to the top of the page
+Quote Post
yaro
post
Post #10





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

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


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.


--------------------
Go to the top of the page
+Quote Post
mls
post
Post #11





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Za to Safari obsługuje client-side database storage, zgodne z HTML5.


--------------------
Go to the top of the page
+Quote Post
yaro
post
Post #12





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

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


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.


--------------------
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 Aktualny czas: 20.08.2025 - 09:57