I Flash Player kan du använda
delade objekt
, som är ActionScript-objekt som finns utanför en SWF-fil, antingen lokalt på användarens filsystem eller externt på en RTMP-server. Delade objekt, liksom andra medier i Flash Player, delas upp i säkerhetssandlådor. Däremot skiljer sig sandlådemodellen för delade objekt något, eftersom delade objekt är resurser som aldrig kan göras tillgängliga över domängränser. I stället hämtas alltid delade objekt från ett lager med delade objekt som är specifikt för domänen för respektive SWF-fil som anropar metoder för klassen SharedObject. Vanligtvis är ett lager med delade objekt ännu mer specifikt än en SWF-fils domän: alla SWF-filer använder som standard ett lager med delade objekt som är specifikt för hela den ursprungliga URL-adressen. Mer information om delade objekt finns i
Delade objekt
.
En SWF-fil kan använda parametern
localPath
för metoden
SharedObject.getLocal()
och
SharedObject.getRemote()
för att använda ett lager med delade objekt som associeras med endast en del av URL-adressen. På så vis kan SWF-filen ge tillstånd till delning med andra SWF-filer från andra URL-adresser. Även om du skickar
'/'
som parametern
localPath
anges ändå ett lager med delade objekt som är specifikt för den egna domänen.
Användare kan begränsa åtkomst till delade objekt i dialogrutan Inställningar i Flash Player eller med Inställningshanteraren. Som standard kan delade objekt skapas med upp till 100 kB data per domän. Administratörer och användare kan också ange egna gränser för hur mycket som får skrivas i filsystemet. Mer information finns i avsnitten
Administrativa inställningar
och
Användarinställningar
.
Du kan ange att ett delat objekt är säkert genom att ange parametern
true
för
secure
i metoden
SharedObject.getLocal()
eller
SharedObject.getRemote()
. Observera följande om parametern
secure
:
-
Om den här parametern är inställd på
true
skapar Flash Player ett nytt säkert delat objekt eller hämtar en referens till ett befintligt säkert delat objekt. Det här säkra delade objektet kan bara läsas från eller skrivas till av SWF-filer som levereras över HTTPS och som anropar
SharedObject.getLocal()
med parametern
secure
inställd på
true
.
-
Om den här parametern är inställd på
false
skapas ett nytt delat objekt eller så hämtas en referens till ett befintligt delat objekt som kan läsas från eller skrivas till av SWF-filer som levereras över icke-HTTPS-anslutningar.
Om anropande SWF-fil inte kommer från en HTTPS-URL genereras ett SecurityError-undantag om du anger
true
för parametern
secure
i metoden
SharedObject.getLocal()
eller
SharedObject.getRemote()
.
Valet av ett lager med delade objekt baseras på en SWF-fils ursprungliga URL-adress. Detta gäller även i de båda fallen när en SWF-fil inte kommer från en enkel URL-adress: import av inläsning och dynamisk inläsning. Import av inläsning avser de fall när du läser in en SWF-fil med egenskapen
LoaderContext.securityDomain
angiven med
SecurityDomain.currentDomain
. I det här fallet kommer den inlästa SWF-filen att ha en pseudo-URL-adress som inleds med inläsande SWF-filens domän och anger sedan den faktiska URL-adressen. Dynamisk inläsning avser inläsning av en SWF-fil med metoden
Loader.loadBytes()
. I det här fallet kommer den inlästa SWF-filen att ha en pseudo-URL-adress som inleds med inläsande SWF-fils hela URL-adress åtföljt av ett ID-tal. Vid både import av inläsning och dynamisk inläsning kan en SWF fils pseudo-URL-adress granskas med egenskapen
LoaderInfo.url
. Pseudo-URL-adressen behandlas på exakt samma sätt som en verklig URL-adress vad gäller val av lager med delade objekt. Du kan ange parametern
localPath
för delat objekt som använder delar av eller hela pseudo-URL-adressen.
Användare och administratörer kan välja att avaktivera användning av
utomstående objekt
. Detta innebär användning av delade objekt via en SWF-fil som körs i en webbläsare, när SWF-filens ursprungliga URL-adress är från en annan domän än URL:en som visas i webbläsarfältet. Användare och administratörer kan avaktivera utomstående objekt av säkerhetsskäl och för att undvika spårning över domäner. För att undvika den här begränsningen kanske du behöver vara säker på att SWF-filer som använder delade objekt läses in endast inom HTML-sidesstrukturer där SWF-filen garanterat kommer från samma domän som visas i webbläsarens adressfält. Om du försöker använda delade objekt från en utomstående SWF-fil, och användning av utomstående objekt har avaktiverats, returneras
null
från metoderna
SharedObject.getLocal()
och
SharedObject.getRemote()
. Mer information finns på
www.adobe.com/products/flashplayer/articles/thirdpartylso
.