
FlashCookie7 kullanıcıların bilgisayarında çerez benzeri küçük miktarlarda veri saklamanıza imkân veren lüzumsuz olmasından anlaşılacağı üzere benim tarafımdan yazılmış bir class. Web siteniz/uygulamanız ihtiyaç duyduğunda, daha önce depolanmış veriyi kullanıcının bilgisayarından kolayca geri getirebilirsiniz. FlashCookie7 Flash SharedObject sınıfını çevreleyen bir sınıf (wrapper) ama FlashCookie7'nin daha kolay bir kurulumu ve kullanımı var.
Flash çerezlerinin temel avantajları:
FlashCookie7'nin temel avantajları:
En basitiyle başlayalım.
import com.muratsalma.utils.FlashCookie7; // sınıfı içe aktarıyoruz var fc:FlashCookie7 = new FlashCookie7('CookieDosyaAdi'); // FlashCookie7 sınıfının fc adında bir örneğini oluşturuyoruz fc.data.username = 'saklanacakKullaniciAdi'; // fc'nin 'data' nesnesi üzerinde bir özellik oluşturuyoruz.
Bundan sonra, kullanıcı web sayfasını ya da swf'yi kapattığında, FlashPlayer otomatik olarak bütün veriyi 'CookieDosyaAdi.sol' (.sol uzantısı FlashPlayer tarafından otomatik eklenir) isimli dosyaya kaydeder. Oluşturma sırasında, belirtilen isimde bir çerez diskte varsa yüklenir yoksa bu dosya ismiyle yeni bir tane oluşturulur.
To get data from cookie another time:
import com.muratsalma.utils.FlashCookie7; // sınıfı içe aktarıyoruz var fc:FlashCookie7 = new FlashCookie7('CookieDosyaAdi'); // aynı dosyayı yüklediğimize dikkat edin trace(fc.data.username); // 'saklanacakKullaniciAdi'nı verir, bu kadar basit.
Varsayılan olarak bütün çerezler domain'e, dosya yoluna ve oluşturan swf'nin dosya adına göre kategorize edilir. Bu yüzden, eğer moviea.swf 'cookiea' isminde bir çerez oluşturursa, oluştururken aynı çerez dosya adını belirtseniz bile 'movieb.swf' bu çerezi okuyamaz. Belirli bir yol için çerez yüklemek üzere ikinci bir parametre belirtebilirsiniz. Domain'iniz altındaki bütün swf'lerin aynı çerezleri okuyup/yazmasını sağlamanın en kolay yolu oluşturma esnasında bir 'yol' (path) parametresi belirtmektir. Böylece bütün çerezler aynı yol ile ve opsiyonel olarak aynı dosya adıyla depolanır.
Domaininiz altındaki herhangi bir yolda bulunan moviea.swf için:
import com.muratsalma.utils.FlashCookie7; var fc:FlashCookie7 = new FlashCookie7('myCookie', '/'); // ikinci parametreye dikkat. çerez domain'in kök seviyesi için depolanıyor. fc.data.username = 'ornekKullanici';
Domaininiz altında herhangi bir yolda bulunan movieb.swf için:
import com.muratsalma.utils.FlashCookie7; var fc:FlashCookie7 = new FlashCookie7('myCookie', '/'); // ikinci parametreye dikkat. çerez domain'in kök seviyesi için depolanıyor. trace(fc.data.username); // 'ornekKullanici' çıktısını verir
Verilerinizi manuel olarak kaydetmek (fc.save() metodunu çağırmak) zorunda değilsiniz. FlashPlayer otomatik olarak tüm verileri kaydeder. Ama bazen tüm verilerin diske kaydedildiğinden emin olmak için save() metodunu manuel olarak çağırmanız gerekebilir. Varsayılan olarak FlasPlayer domain başına 100KB depolama alanı sunar. Ama depolayacağınız veri bundan büyükse depolama alanını artırmanız gerekir. Depolama alanı artışı kullanıcı onayından sonra gerçekleşir bu yüzden bir kullanıcı tepkisi zorunludur. Eğer veriniz 100KB'dan büyükse ve save() metodunu çağırmazsanız oturum sonunda verileriniz kaybolabilir, çünkü kullanıcı depolama alanı artışına henüz izin vermemiştir. Opsiyonel olarak save() metoduna bir minimum depolama alanı gereksinimi ve bir geridönüş (callback) fonksiyonu belirtebilirsiniz. Önemli: eğer kullanıcıdan daha fazla depolama alanı için izin isteyecekseniz, onay diyaloğunu görüntüleyebilmek için swf'nizin boyutu en az 215x183 piksel olmalıdır.
Daha fazla detay için ekteki ASDoc formatındaki dokümantasyonu ve örnek Flex uygulamasını inceleyebilirsiniz.
| Dosya | Boyut |
|---|---|
| 3.3 KB | |
| 77.59 KB | |
| 1.97 MB |
Yeni yorum gönder