Paylaşılan nesneler

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Flash Player, kullanıcının dosya sisteminde yerel olarak veya bir RTMP sunucusunda uzaktan SWF dosyası dışında olmayı sürdüren ActionScript nesneleri olan paylaşılan nesneleri kullanma yeteneği sağlar. Flash Player'daki diğer ortamlar gibi, paylaşılan nesneler de güvenlik sanal alanlarında bölümlenir. Ancak paylaşılan nesneler, etki alanı sınırları üzerinden erişilebilen kaynaklar olmadığından, paylaşılan nesneler için sanal alan modeli biraz daha farklıdır. Paylaşılan nesneler her zaman, SharedObject sınıfının yöntemlerini çağıran her SWF dosyasının etki alanına özgü olan paylaşılan bir nesne deposundan alınır. Paylaşılan nesne deposu genellikle SWF dosyasının etki alanından çok daha özeldir: varsayılan olarak her SWF dosyası, kaynak URL'sinin tamamına özel olan bir paylaşılan nesne deposu kullanır. Paylaşılan nesnelerle ilgili daha fazla bilgi için, bkz. Paylaşılan nesneler.

SWF dosyası, yalnızca URL'sinin bir kısmıyla ilişkilendirilmiş olan paylaşılan nesne deposunu kullanmak için SharedObject.getLocal() ve SharedObject.getRemote() yöntemlerinin localPath parametresini kullanabilir. Bu şekilde, SWF dosyası, başka URL'lerden gelen SWF dosyalarıyla paylaşıma izin verebilir. localPath parametresi olarak '/' öğesini iletirseniz, bu, kendi etki alanına özgü bir paylaşılan nesne deposunu belirtir.

Kullanıcılar Flash Player Ayarları iletişim kutusunu veya Ayarlar Yöneticisi'ni kullanarak paylaşılan nesne erişimini kısıtlayabilir. Varsayılan olarak, paylaşılan nesneler her etki alanı için maksimum 100 KB veriye kadar oluşturulabilir. Yönetici kullanıcılar ve kullanıcılar da dosya sistemine yazma yeteneğine kısıtlamalar uygulayabilir. Daha fazla bilgi için, bkz. Yönetimsel denetimler ve Kullanıcı denetimleri.

SharedObject.getLocal() yönteminin veya SharedObject.getRemote() yönteminin secure parametresi için true değerini belirterek paylaşılan nesnenin güvenli olduğunu belirtebilirsiniz. secure parametresiyle ilgili olarak şunları unutmayın

  • Bu parametre true olarak ayarlanırsa, Flash Player yeni bir güvenli paylaşılan nesne oluşturur ve varolan bir güvenli paylaşılan nesneye yapılan başvuruyu alır. Bu güvenli paylaşılan nesne, yalnızca secure parametresi true olarak ayarlanmış SharedObject.getLocal() öğesini çağıran HTTPS üzerinden teslim edilen SWF dosyaları tarafından okunabilir veya yazılabilir.

  • Bu parametre false olarak ayarlanmışsa, Flash Player yeni bir paylaşılan nesne oluşturur veya HTTPS olmayan bağlantılar üzerinden teslim edilen SWF dosyaları tarafından okunabilen veya yazılabilen mevcut paylaşılan nesne için bir başvuru alır.

Çağıran SWF bir HTTPS URL'sinden gelmiyorsa, SharedObject.getLocal() yönteminin veya SharedObject.getRemote() yönteminin secure parametresi için true değerinin belirtilmesi SecurityError istisnasının atılmasına neden olur.

Paylaşılan nesne deposu tercihi, SWF dosyasının kaynak URL'sini esas alır. SWF dosyasının basit bir URL'den gelmediği şu iki koşulda da bu durum geçerlidir: içe aktarma yükleme ve dinamik yükleme İçe aktarma yükleme, LoaderContext.securityDomain özelliği SecurityDomain.currentDomain olarak ayarlıyken bir SWF dosyası yüklemeniz durumunu ifade eder. Bu durumda, yüklenen SWF dosyası, yükleyen SWF dosyasının etki alanıyla başlayan ve sonra da gerçek kaynak URL'sini belirten sahte bir URL'ye sahiptir. Dinamik yükleme, Loader.loadBytes() yöntemi kullanılarak SWF dosyasının yüklenmesini ifade eder. Bu durumda, yüklenen SWF dosyası, yükleyen SWF dosyasının tam URL'sini ve ardından bir tam sayı kimliğini içeren sahte bir URL'ye sahiptir. Hem içe aktarma yükleme hem de dinamik yükleme durumunda da, LoaderInfo.url özelliği kullanılarak SWF dosyasının sahte URL'si incelenebilir. Paylaşılan nesne deposu seçilmesi amacıyla, sahte URL, tıpkı gerçek bir URL gibi değerlendirilir. Sahte URL'nin bir kısmını veya tamamını kullanan bir paylaşılan nesne localPath parametresini belirtebilirsiniz.

Kullanıcılar ve yöneticiler, üçüncü taraf paylaşılan nesnelerin kullanımını devre dışı bırakmayı seçebilir. Bu, bir SWF dosyasının kaynak URL'si, tarayıcının adres çubuğunda gösterilen URL'den farklı bir etki alanından geldiğinde, web tarayıcısında çalıştırılan SWF dosyası tarafından, paylaşılan nesnelerin kullanılmasıdır. Kullanıcılar ve yöneticiler, gizlilik nedenleriyle etki alanları arası izlemeyi önlemek amacıyla üçüncü taraf paylaşılan nesne kullanımını devre dışı bırakmayı seçebilir. Bu kısıtlamayı önlemek için, paylaşılan nesne kullanan SWF dosyalarının, yalnızca tarayıcının adres çubuğunda gösterilen aynı etki alanından SWF dosyasının gelmesini sağlayan HTML sayfası yapıları içinde yüklendiğinden emin olmak isteyebilirsiniz. Üçüncü taraf bir SWF dosyasından gelen paylaşılan nesneleri kullanmayı denediğinizde üçüncü taraf paylaşılan nesne kullanımı devre dışı bırakılmışsa, SharedObject.getLocal() ve SharedObject.getRemote() yöntemleri null değerini döndürür. Daha fazla bilgi için, bkz. www.adobe.com/products/flashplayer/articles/thirdpartylso.