Türkçe
English

FlashCookie7 - Her eve lazım kurabiye

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ı:

  • Kritik olmayan verilerin kullanıcının bilgisayarında yerel olarak saklanmasıyla sunucu yükünün ve kod karmaşıklığının düşürülmesi.
  • Sunucuda saklanan veri miktarının düşürülmesi.
  • Verilerinizin standart tarayıcı çerezlerinden izole edilmesi ve çapraz tarayıcı sorunlarının azaltılması.
  • Çerez verilerinizin sunucu taraflı betiklerden izole edilmesi.
  • Sıradan bir çerezden çok daha fazla veri depolanabilmesi (kullanıcının vereceği onayla sınırsız'a kadar).
  • Daha karmaşık veri türlerinin depolanabilmesi.
  • Kullanıcı tarayıcısındaki kişisel verileri temizlediğinde, depoladığınız verilerin ömrünün daha uzun olması.
  • Birçok farklı swf'nin disk üzerindeki aynı çerezi okuyup yazma imkanına sahip olması (bütün swf'ler aynı domain üzerinde olmalıdır).

FlashCookie7'nin temel avantajları:

  • Flash, Flex, AIR ve tüm tarayıcılarla uyumlu, ActionScript 3.0 tabanlı olduğu için tüm Flash, Flex ve AIR projelerinizde kullanabilirsiniz.
  • FlashPlayer 9 ve üzeri ile uyumlu.
  • Kolay kurulum; import ifadesi de dahil 3 satırlık kod ile kullanmaya başlayabilirsiniz.
  • Kolay okuma/yazma operasyonları; tek satırlık kod ile veri okuyup yazabilirsiniz.
  • Kolay depolama alanı artışı.

Örnekler

En basitiyle başlayalım.

  1. import com.muratsalma.utils.FlashCookie7; // sınıfı içe aktarıyoruz
  2. var fc:FlashCookie7 = new FlashCookie7('CookieDosyaAdi'); // FlashCookie7 sınıfının fc adında bir örneğini oluşturuyoruz
  3. 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:

  1. import com.muratsalma.utils.FlashCookie7; // sınıfı içe aktarıyoruz
  2. var fc:FlashCookie7 = new FlashCookie7('CookieDosyaAdi'); // aynı dosyayı yüklediğimize dikkat edin
  3. 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:

  1. import com.muratsalma.utils.FlashCookie7;
  2. var fc:FlashCookie7 = new FlashCookie7('myCookie', '/'); // ikinci parametreye dikkat. çerez domain'in kök seviyesi için depolanıyor.
  3. fc.data.username = 'ornekKullanici';

Domaininiz altında herhangi bir yolda bulunan movieb.swf için:

  1. import com.muratsalma.utils.FlashCookie7;
  2. var fc:FlashCookie7 = new FlashCookie7('myCookie', '/'); // ikinci parametreye dikkat. çerez domain'in kök seviyesi için depolanıyor.
  3. 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.

Yeni yorum gönder

Yorum gönderebilmek için kaydolmanıza gerek yok ama kaydolmazsanız, daha sonra gönderdiğiniz yorumu düzenlemek istediğinizde bunu yapamazsınız. Siz iyisi mi kaydolun.
Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • İzin verilen HTML etiketleri: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimleme seçenekleri hakkında daha fazla bilgi

CAPTCHA
size zorluk çıkarmak istemiyorum ama botlardan gına geldi. aşağıdaki harfleri okuyabilirseniz bot olmadığınız iddası daha inandırıcı olur.
Image CAPTCHA
Resimde gördüğünüz karakterleri girin.