Bir önceki yazımda zaten web sitemi açtığımı söylemiştim. Ama ne açılışmış. Stres dolu bir gün oldu açıkçası. Neden olduğunu bağlıktan az çok tahmin etmişsinizdir.
Malum artık küçük kapalı bir toplumda yaşamıyoruz. Yaptığımız herşeyin kıstası ve rakibi bütün dünya. Ulaşabildiğimiz kadar insana ulaşmamız gerekiyor. İşte bu yüzden web sitemi hem Türkçe hemde İngilizce hazırladım.
Klasik alışılmış şekilde girişte tercih edilen dili soruyor ve devam ediyor. Ancak küçük bir değişiklik eklemek istedim ve bir kişinin dil tercihinin sürekli değişmediğini düşünerek sitenin dil ayarını hatırlamasını istedim.
Zaten başıma ne geldiyse bu yüzden geldi. En pratik yol "Flash Cookie" diye de adlandırılan SharedObjects sınıfını kullanmaktı. Tamam, gayet güzel. Kaydediyor, okuyor ediyor. Çokda kolay. Hemen bir örnek:
var KayitOgesi:SharedObject = new SharedObject();
KayitOgesi = SharedObject.getLocal("KayitliCookie");
var IstenilenDeger:String = KayitOgesi.data.IstenilenDeger;
İşte bu kadar. Bu satırdan sonra "IstenilenDeger" karakter dizisi ile istediğinizi yapabilirsiniz. Tabi kaydınızın "String" olması şart değil. Tamsayıda olabilir, gerçek sayıda olabilir. Ne isterseniz.
Tamam buraya kadar herşey güzel. Flash CS3 te debug sırasında hiç bir problem yok, güzel. Lokal olarak açtığım web sunucusunda sıkıntım yok buda güzel. Sonunda akşam siteyi kuruyor ve test ediyorum. yine problem yok.
Ve sabah. Siteyi duyurmamla beraber garip bir durum ortaya çıkıyor. Kimisi rahatça gezinirken, kimisi göremiyor bile. Normalde göremeyecek kadar hızlı geçmeleri gereken bir yerde donup kalıyorlardı.
İşin komiği işyerindeki makinamda Internet Explorer'da sitemi görebilirken, Firefox'da göremiyordum.
Merak edip araştırmaya başladım. Flash 9 problemimi , hayır... Firefoxda mı bir sıkıntı oluşmuştu, hayır... Güvenlik ayarları, hayır... Windows ayarları, hayır... Dil ayarları, hayır... Flash oynatıcının tampon hafıza boyutu, hayır...
Bir türlü sebebini bulamadım. Kişiler rastgele, programlar rastgele, konfigürasyonlar rastgele. Hiç bir şekilde hata desenini ortaya çıkartamadım.
Şüphelendiğim şey SharedObject'di ve bir kaç araştırma ve denemenin ardından sorunun onda olduğu ortaya çıktı. Siteyi bir günlüğüne sürekli dil seçilecek şekilde bıraktım ve ertesi gün JavaScript bir cookie okuma yazma rutini hazırlayarak bugünkü haline getirdim. Netice de bütün bu sorunlar ortadan kalktı.
Yani aklınızda olsun, Flash da ActionScript3 (AS3) kullanırken bazı yerel bilgileri kaydetmek için SharedObject öğesini kullanırsanız başınıza bela almışsınız demektir. Benden söylemesi...
01 Mart 2008 Cumartesi
Kaydol:
Kayıt Yorumları (Atom)

0 yorum:
Yorum Gönder