Adobe - flash - platform közös objektumok

Az általános objektumokról

A közös objektumok úgy működnek, mint a böngésző cookie-k. A SharedObject osztály a felhasználó helyi merevlemezén tárolt adatok tárolására szolgál, és ugyanazon vagy későbbi munkamenet során ezeket az adatokat hívja le. Az alkalmazások csak saját SharedObject adataikat érhetik el, és csak akkor, ha ugyanabban a tartományban indulnak. Az adatok nem kerülnek elküldésre a kiszolgálóra, és nem állnak rendelkezésre más tartományokban futó alkalmazásokhoz, azonban ugyanazon domain alkalmazásokhoz is elérhetők.

A megosztott objektumok összehasonlítása a cookie-kkal

A cookie-k és a megosztott objektumok sok mindent tartalmaznak. Mivel a legtöbb internetes programozó ismeri a cookie-k elveit, hasznos lesz összehasonlítani a cookie-kat a helyi SharedObjects-del.

Általában az RFC 2109-nek megfelelő cookie-k a következő tulajdonságokkal rendelkeznek:

Az a lejárati dátum, amely alapértelmezés szerint lejár a munkamenet végén.

a cookie-k maximális száma 300, de legfeljebb 20 fájl egy webhelyen;

a fájl mérete legfeljebb 4 KB;

néha biztonsági fenyegetésnek tekinthető, aminek következtében az ügyfélszámítógépen leválaszthatóak;

A mentési mappát az ügyfélböngésző jelzi;

Az ügyfélről a kiszolgálóra történő átvitel HTTP-n keresztül történik.

A cookie-kkal ellentétben a megosztott fájlok a következő tulajdonságokkal rendelkeznek:

nincs alapértelmezett idő;

Az alapértelmezett fájlméret 100 KB-ra korlátozódik;

egyszerű adattípusok tárolására (pl. String, Array és Date).

A mentési mappát az alkalmazás jelzi (a felhasználó saját könyvtárában);

nincs átvitel az ügyfélről a kiszolgálóra.

A SharedObject osztályról

A SharedObject osztály használatával létrehozhat és törölhet megosztott objektumokat, valamint meghatározhatja a használt SharedObject aktuális méretét.

Megosztott objektumok létrehozása

SharedObject létrehozásához használja a SharedObject.getLocal () metódust a következő szintaxissal:

A következő példa leírja a mySO nevű megosztott objektum létrehozásának folyamatát:

Így az ügyfélszámítógépen létrejön a name preferences.sol nevű fájl.

A helyi fogalom egy közös objektum helyét jelzi. Ebben az esetben az Adobe® Flash® Player a SharedObject fájlt elmenti a helyi ügyfél saját könyvtárába.

Megosztott objektum létrehozásakor a Flash Player egy új könyvtárat hoz létre az alkalmazás és a tartomány számára egy elszigetelt környezetben. A * .sol fájl is létrejön, ami tárolja a SharedObject adatokat. Az alapértelmezett könyvtár a felhasználó saját könyvtárának alkönyvtára. Az alábbi táblázat az alapértelmezett könyvtár lehetséges helyét mutatja:

A # SharedObjects könyvtár neve tetszőleges névvel rendelkező könyvtár. Ezután követi azt a könyvtárat, amelynek neve megegyezik a gazdanévvel, majd az alkalmazás elérési útjával és végül a * .sol fájllal.

Például, ha az Ön által kért egy alkalmazás nevű myApp.swf, található egy helyi gazda egy elnevezett könyvtárban / sos, a Flash Player tárolja a * .sol fájlt a következő elérési utat (Windows XP):

Megjegyzés. Ha a SharedObject.getLocal () metódus neve nincs megadva. A Flash Player hozzárendeli az undefined.sol fájlnevet.

Alapértelmezés szerint a Flash képes tárolni a tartós SharedObject objektumokat akár 100 kB minden tartományban. Ezt az értéket a felhasználó módosíthatja. Amikor megpróbálja menteni a kérelem adatait a megosztott objektum növeli a méretét, hogy több mint 100 KB, Flash Player megjeleníti a „Local Storage” párbeszédablak, amelyben a felhasználó engedélyezheti vagy letilthatja a használata több helyi tároló tartomány zapraschivayuschim hozzáférést.

Path Definition

Lehetőség van az opcionális útvonalnév paraméter használatára a SharedObject fájl helyének meghatározásához. Ennek a fájlnak a domain SharedObject mappájának alkönyvtára kell lennie. Például ha egy alkalmazást kér a helyi gazdagépen, és beírja a következő sort:

A Flash Player a SharedObject fájlt a / # localhost könyvtárba (vagy a / localhost könyvtárba írja, ha az alkalmazás offline alkalmazás). Ennek a funkciónak a használata leginkább indokolt, ha több alkalmazáshoz ugyanazon a megosztott objektumhoz kell hozzáférni. Ebben az esetben az ügyfél két Flex alkalmazást futtathat, amelyek mindegyike elérheti a közös objektumot a tartomány gyökerén; akkor az ügyfél mindkét alkalmazásból ugyanarra a megosztott objektumra férhet hozzá. Az adatok megosztására nem állandó alkalmazásokkal a LocalConnection objektumot használhatja.

Ha nem létező könyvtárat ad meg, a Flash Player nem hoz létre SharedObject fájlt.

Adatok hozzáadása egy közös objektumhoz

Adatokat adhat a * .sol SharedObject fájlhoz a SharedObject adat tulajdonsága segítségével. Új adatok hozzáadása egy közös objektumhoz a következő szintaxissal:

A következő példa hozzáadja a userName tulajdonságokat. itemNumbers és adminPrivileges. valamint értékeiket a SharedObject-hez:

Miután hozzárendelte az értékeket az adat tulajdonsághoz, a Flash Playernek ezeket az értékeket meg kell adnia a SharedObject fájlnak. A SharedObject fájl írási értékeinek elindításához használja a SharedObject metódust. flush (). például:

Ha a felhasználó nem hívja a SharedObject.flush () metódust. A Flash Player az alkalmazásból való kilépéskor írja be az értékeket egy fájlba. Azonban ez a módszer nem teszi lehetővé a felhasználó számára, hogy növelje a szabad helyet, ahol a Flash Player adatokat tárol, ha az megegyezik az alapértelmezett beállításokkal. Ezért ajánlott a SharedObject.flush () módszer felhívása.

Amikor a flush () metódus, hogy írjon megosztott objektumok a felhasználó merevlemezén legyen óvatos, hogy ellenőrizze, hogy a felhasználó nem rendelkezik helyi tároló lehetőségek használatával menedzser Flash Player Settings Manager (www.macromedia.com/support/documentation/ru/flashplayer/help /settings_manager07.html), amint az a következő példában látható.

Objektumok mentése közös objektumokban

A SharedObject adat tulajdonságban egyszerű objektumok - pl. Arrays vagy Strings - tárolhatók.

Az alábbi példa egy ActionScript osztályt mutat be, amely meghatározza azokat a módszereket, amelyek a megosztott objektummal való interakciót szabályozzák. Ezek a módszerek lehetővé teszik a felhasználó számára, hogy objektumokat vegyen fel és távolítson el a megosztott objektumoktól. Ebben az osztályban az egyszerű objektumokat tartalmazó ArrayCollection osztály tárolódik.

Objektumok megőrzése szigorú ellenőrzéssel közös tárgyakban

Lehetőség van az ActionScript példányok szigorú ellenőrzésére a közös objektumokban. Ezt a funkciót a flash.net.registerClassAlias ​​() módszerrel hívja meg az osztály regisztrálásához. Amikor létrehoz egy osztály példányát, tárolja azt egy megosztott objektumadatelemben, majd kiadja az adatokat, a felhasználó szigorúan ellenőrzi a példányt. Alapértelmezés szerint a SharedObject objectEncoding tulajdonság támogatja az AMF3 kódolást és lekéri a mentett példányt a SharedObject-ből. A mentett példány megtartja ugyanazt a típust, amelyet a registerClassAlias ​​() metódus megadásakor megadott.

(Csak IOS) A helyi megosztott objektumok mentése a felhő tárolására

Több megosztott objektum létrehozása

Lehetőség van több közös objektum létrehozására egy Flex alkalmazásra. Ehhez minden objektumhoz egyedi példánynevet kell rendelni, például:

Ily módon a preferences.sol és history.sol fájlokat a helyi Flex alkalmazások könyvtárában hozza létre.

A SharedObject biztonságos példányának létrehozása

Helyi vagy távoli példány létrehozása a SharedObject segítségével a getLocal () vagy a getRemote () módszerrel. van egy további paraméter, amelyet biztonságosnak hívnak. amely meghatározza, hogy a megosztott objektumhoz való hozzáférés csak HTTPS-kapcsolaton keresztül leadott SWF fájlokhoz engedélyezett-e. Ha ez a paraméter igazra van állítva, és az SWF fájl HTTPS-en keresztül érkezik, akkor a Flash Player új biztonságos megosztott objektumot hoz létre, vagy egy létező, biztonságos megosztott objektumra mutató linket kap. Ezt a biztonságos megosztott objektumot csak azok az SWF fájlok olvashatják vagy írhatják fel, amelyeket HTTPS-n keresztül szállítanak, és amelyek a SharedObject.getLocal () metódust a biztonságos paraméterkészletre igaznak hívják. Ha ez a paraméter hamis, és az SWF fájl HTTPS-en keresztül kerül továbbításra, a Flash Player új megosztott objektumot vagy egy meglévő megosztott objektumra mutató hivatkozást hoz létre.

Ezt a megosztott objektumot HTTPS-kapcsolaton keresztül nem továbbított SWF-fájlok olvashatják vagy írhatják. Ha az SWF-fájlt nem HTTPS-kapcsolaton keresztül szállítják, és ezt a paramétert igaznak próbálja beállítani. egy új megosztott objektum (vagy egy korábban létrehozott védett megosztott objektumhoz való hozzáférés) létrehozása sikertelen lesz, hibaüzenet jelenik meg, és a megosztott objektum nulla lesz. Ha a következő kódot nem HTTPS-kapcsolaton próbálja végrehajtani, akkor a SharedObject.getLocal () módszer hibát dob.

E paraméter értékétől függetlenül a létrehozott megosztott objektumok hozzáadódnak a teljes tárterülethez a domain számára.

Egy megosztott objektum tartalmának megjelenítése

A megosztott objektumoknál az értékek az adat tulajdonságban kerülnek tárolásra. Minden értéket megjeleníthet egy SharedObject példán a for..in hurok segítségével. mint a következő példában.

Közös objektumok törlése

A SharedObject elpusztításához az ügyféltől használja a SharedObject.clear () metódust. Ez a módszer nem fogja eltávolítani a könyvtárakat az általános alkalmazásobjektumok alapértelmezett elérési útjától.

A példa illusztrálja a SharedObject fájl eltávolítását az ügyfélszámítógépről:

SharedObject példa

Az alábbi példa azt mutatja be, hogy egyszerű objektumok, például Dátum objektum tárolható SharedObject SharedObject objektumban, anélkül, hogy ezeket az objektumokat kézi sorba rendezné és deserializálná.

A következő példa a felhasználó üdvözlőlapjával kezdődik, aki az első regisztrációt átvette. A Kilépés gombra kattintva az alkalmazás elmenti az aktuális dátumot a megosztott objektumban. Az alkalmazás elindításának vagy az oldal frissítésének legközelebbi megnyitásakor egy üdvözlő üzenet jelenik meg, amelyben értesítést kap az alkalmazásból való kilépés ideje.

Annak érdekében, hogy az alkalmazás működés közben megjelenjen, indítsa el az alkalmazást, kattintson az "Exit" gombra, majd frissítse az oldalt. Az alkalmazás megjeleníti a dátumot és az időt, amikor az "Exit" gombot legutóbb megnyomta. A mentett információ bármikor törölhető a "Helyi megosztott objektum törlése" gombbal.

Kapcsolódó cikkek