Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: AIR 30.0 och tidigare, Flash Player 30.0 och tidigare, Flash Lite 4
Flex 4.6 och tidigare, Flash Pro CS6 och tidigare
Dölj filter
flash.net 

SharedObject  - AS3

Paketx

Översta nivån
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Språkelement

Globala konstanter
Globala funktioner
Operatorer
Programsatser, nyckelord och direktiv
Specialtyper

Bilagor

Nyheter
Kompilatorfel
Kompileringsvarningar
Körningsfel
Flytta till ActionScript 3
Teckenuppsättningar som stöds
Endast MXML-taggar
Motion XML-element
Timed Text-taggar
Lista över borttagna element
Konstanter för hjälpmedelsimplementering
Använda ActionScript-exempel
Juridiska meddelanden
Paketflash.net
Klasspublic class SharedObject
ArvSharedObject Inheritance EventDispatcher Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Klassen SharedObject används för att läsa och spara begränsade mängder data på en användares dator eller på en server. Delade objekt ger delning av data i realtid mellan flera SWF-filer på klientdatorn och beständiga objekt på den lokala datorn eller fjärranslutna servern. Lokala delade objekt liknar webbläsar-cookies och externa delade objekt liknar överföringsenheter för data i realtid. För att kunna använda externa delade objekt måste du ha Adobe Flash Media Server.

Använd delade objekt för att göra följande:

  • Bibehålla lokal beständighet. Det här är det enklaste sättet att använda ett delat objekt på och Flash Media Server behövs inte. Du kan till exempel anropa SharedObject.getLocal() och skapa ett delat objekt i ett program (t.ex. en räknare med minne). När användaren stänger räknaren sparas det senaste värdet i ett delat objekt på användarens dator. Nästa gång som räknaren körs används värdena från tidigare körning. Du kan också ange det delade objektets egenskaper med null innan räknaren stängs. Då öppnas den vid nästa körning utan att behöva några värden. Ett annat exempel på bibehållen lokal beständighet är uppföljning av användarinställningar eller andra data för komplexa webbsidor, t.ex. registrering av vilka artiklar användare läser på en nyhetswebbsida. Spårning av sådan information gör att du kan visa artiklar som redan har lästs på annat sätt än nya, olästa artiklar. Om informationen sparas på användarens dator minskar belastningen på servern.
  • Lagra och dela data på Flash Media Server. Ett delat objekt kan lagra data på servern. Dessa data kan sedan hämtas av andra klienter. Du kan till exempel anropa SharedObject.getRemote() för att skapa ett externt delat objekt (till exempel en telefonlista) som är beständigt på servern. Varje gång en klient ändrar i det delade objektet blir de ändrade värdena tillgängliga för alla klienter som är anslutna till objektet eller som ansluter till det senare. Om objektet även är beständigt lokalt och en klient ändrar data utan at vara ansluten till servern, kopieras data till det externa delade objektet nästa gång klienten ansluter till objektet.
  • Dela data i realtid. Med ett delat objekt kan datadelning användas över flera klienter i realtid. Du kan till exempel öppna ett externt delat objekt med en lista med användare i ett chattrum som är synligt för alla klienter med anslutning till objektet. När en användare träder in eller lämnar chattrummet uppdateras objektet och alla klienter som är anslutna till objektet ser den uppdaterade listan med användare i chattrummet.

Om du vill skapa ett lokalt delat objekt anropar du SharedObject.getLocal(). Om du vill skapa ett externt delat objekt anropar du SharedObject.getRemote().

När ett program stängs sparas delade objekt med flush eller skrivs på en disk. Du kan också anropa metoden flush() för att explicit skriva data till en disk.

Att tänka på om utrymme på den lokala disken: Lokala delade objekt har några viktiga begränsningar man ska komma ihåg när man utvecklar program med dem. Ibland får SWF-filerna inte skriva lokala delade objekt och ibland kan data som sparas i lokala delade objekt tas bort utan att du märker det. Flash Player-användarna kan begränsa diskutrymmet som är tillgängligt för enskilda domäner eller alla domäner. Om användaren minskar mängden tillgängligt utrymme kan lokala delade objekt tas bort. Flash Player-användare kan också ställa in sekretesskontroller som förhindrar att utomstående domäner (andra domäner än domänen som anges i webbläsarens adressfält) läser eller skriver i lokala delade objekt. Notera även att på Mac OS, från och med AIR 3.3, ändrades platsen för lokalt delade objekt så om du uppgraderar till 3.3-namnutrymmet kommer det att verka som om objekten har tagits bort.

Obs: SWF-filer som sparas och körs på en lokal dator och inte från en server kan alltid skriva tredje parts delade objekt på disken. Mer information om tredje parts delade objekt finns på panelen Globala lagringsinställningar i hjälpen för Flash Player.

Adobe rekommenderar att du kontrollerar om det uppstår fel som beror på det tillgängliga diskutrymmet och på användarens sekretessinställningar. Gör kontrollen när du anropar getLocal() och flush():

  • SharedObject.getLocal() – Flash Player genererar ett undantag när ett anrop till metoden misslyckas, som till exempel när användaren har inaktiverade delade objekt från tredje part och SWF-filens domän inte matchar domänen i webbläsarens adressfält.
  • SharedObject.flush() – Flash Player genererar ett undantag när ett anrop till den här metoden misslyckas. Den returnerar SharedObjectFlushStatus.FLUSHED när metoden slutförs. Den returnerar SharedObjectFlushStatus.PENDING när ytterligare minnesutrymme krävs. Flash Player uppmanar användaren att öka minnesutrymmet för data som sparas lokalt. Därefter skickas händelsen netStatus med ett informationsobjekt som anger om flush-metoden misslyckades eller slutfördes.

Om SWF-filen försöker skapa eller ändra lokala delade objekt ska den vara minst 215 pixlar bred och 138 pixlar hög (det är de mått som krävs för att en dialogruta som uppmanar användaren att öka lagringsgränsen för lokala delade objekt ska kunna visas). Om SWF-filen är mindre än dessa mått och det behövs en ökning av lagringsgränsen misslyckas SharedObject.flush(), SharedObjectFlushedStatus.PENDING returneras och händelsen netStatus skickas.

Externa delade objekt. Med Flash Media Server kan du skapa och använda externa delade objekt som delas i realtid av alla klienter som är anslutna till programmet. När en klient ändrar en egenskap i ett externt delat objekt ändras egenskapen för alla anslutna klienter. Du kan använda externa delade objekt för att synkronisera klienter, till exempel användare i ett spel för flera spelare.

Varje externt delat objekt har en data-egenskap som är ett objekt med egenskaper som lagrar data. Anropa setProperty() när du vill ändra en egenskap i dataobjektet. Servern uppdaterar egenskaperna, skickar en sync-händelse och skickar tillbaka egenskaperna till de anslutna klienterna.

Du kan välja att göra externa delade objekt beständiga på klienten, på servern eller både och. Som standard sparar Flash Player lokalt beständiga externa delade objekt som är upp till 100 kB stora. När du försöker spara ett större objekt visar Flash Player dialogrutan Lokala lagringsinställningar så att användaren kan tillåta eller neka lokal lagring för det delade objektet. Se till att scenen är minst 215 x 138 pixlar. Det är den minsta storleken som Flash kan visa dialogrutan i.

Om användaren väljer Tillåt sparar servern det delade objektet och skickar en netStatus-händelse med code-egenskapen SharedObject.Flush.Success. Om användaren väljer Neka sparar servern inte det delade objektet och skickar en netStatus-händelse med code-egenskapen SharedObject.Flush.Failed.

Visa exemplen

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
  client : Object
Anger objektet som återkopplingsmetoder anropas i.
SharedObject
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
  data : Object
[skrivskyddad] Attributen som är tilldelade till egenskapen data för objektet. Dessa attribut kan delas och sparas.
SharedObject
  defaultObjectEncoding : uint
[statisk] Standardobjektkodningen (AMF-version) för alla lokala delade objekt som skapats i SWF-filen.
SharedObject
  fps : Number
[lässkyddad] Anger hur många gånger per sekund som en klients ändringar i ett delat objekt skickas till servern.
SharedObject
  objectEncoding : uint
Objektkodningen (AMF-version) för det här delade objektet.
SharedObject
      preventBackup : Boolean
[statisk] Anger huruvida lokala delade objekt ska säkerhetskopieras med säkerhetskopieringstjänsten i iOS-molnet.
SharedObject
  size : uint
[skrivskyddad] Det delade objektets aktuella storlek i byte.
SharedObject
Publika metoder
 MetodDefinieras med
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser.
EventDispatcher
  
Tar bort alla data och det delade objektet från disken för lokala delade objekt.
SharedObject
  
Stänger anslutningen mellan ett delat objekt och servern.
SharedObject
  
connect(myConnection:NetConnection, params:String = null):void
Ansluter till ett delat objekt på servern via ett angivet NetConnection-objekt.
SharedObject
 Inherited
Skickar en händelse till händelseflödet.
EventDispatcher
  
flush(minDiskSpace:int = 0):String
Skriver omedelbart ett lokalt beständigt delat objekt i en lokal fil.
SharedObject
  
getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject
[statisk] Returnerar en referens till ett lokalt beständigt delat objekt som bara är tillgängligt för den nuvarande klienten.
SharedObject
  
getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject
[statisk] Returnerar en referens till ett delat objekt på Flash Media Server som flera klienter har åtkomst till.
SharedObject
 Inherited
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse.
EventDispatcher
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Tar bort en avlyssnare från EventDispatcher-objektet.
EventDispatcher
  
send(... arguments):void
Sänder ett meddelande till alla klienter som är anslutna till det delade objektet, inklusive klienten som skickade meddelandet.
SharedObject
  
setDirty(propertyName:String):void
Anger för servern att värdet för en egenskap i det delade objektet har ändrats.
SharedObject
  
setProperty(propertyName:String, value:Object = null):void
Uppdaterar värdet för en egenskap i ett delat objekt och anger för servern att egenskapens värde har ändrats.
SharedObject
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
 Inherited
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen.
EventDispatcher
Händelser
 Händelse Sammanfattning Definieras med
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt.EventDispatcher
  Skickas om ett undantag inträffar asynkront, d.v.s. från ursprunglig asynkron kod.SharedObject
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt.EventDispatcher
  Skickas om SharedObject-instansen ger en status- eller felrapport.SharedObject
  Skickas när ett externt delat objekt har uppdaterats av servern.SharedObject
Egenskapsdetaljer

client

egenskap
client:Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger objektet som återkopplingsmetoder anropas i. Standardobjektet är this. Du kan tilldela klientegenskapen till ett annat objekt så kommer återkopplingsmetoder att anropas i det objektet.



Implementering
    public function get client():Object
    public function set client(value:Object):void

Utlöser
TypeError — Egenskapen client måste vara angiven som ett icke-nullobjekt.

data

egenskap 
data:Object  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Attributen som är tilldelade till egenskapen data för objektet. Dessa attribut kan delas och sparas. Varje attribut kan vara ett objekt av valfri ActionScript- eller JavaScript-typ: Array, Number, Boolean, ByteArray, XML och så vidare. Följande rader tilldelar till exempel värden till olika aspekter av ett delat objekt:

     var items_array:Array = new Array(101, 346, 483);
     var currentUserIsAdmin:Boolean = true;
     var currentUserName:String = "Ramona";
     
     var my_so:SharedObject = SharedObject.getLocal("superfoo");
     my_so.data.itemNumbers = items_array;
     my_so.data.adminPrivileges = currentUserIsAdmin;
     my_so.data.userName = currentUserName;
     
     for (var prop in my_so.data) {
       trace(prop+": "+my_so.data[prop]);
     }
     

Alla attribut i egenskapen data i ett delat objekt sparas om objektet är beständigt och innehåller följande information:

     userName: Ramona
     adminPrivileges: true
     itemNumbers: 101,346,483
     

Obs! Tilldela inte värden direkt till egenskapen data i ett delat objekt (till exempel so.data = someValue). Flash Player ignorerar sådana tilldelningar.

Om du vill ta bort attribut för lokala delade objekt använder du kod som delete so.data.attributeName. Om ett attribut anges som null eller undefined för ett lokalt delat objekt tas attributet inte bort.

Om du vill skapa privata värden för ett delat objekt – det vill säga värden som bara är tillgängliga för den klientinstansen medan objektet används och som inte sparas när den stängs – skapar du egenskaper som inte har namnet data att spara dem i. Se följande exempel:

     var my_so:SharedObject = SharedObject.getLocal("superfoo");
     my_so.favoriteColor = "blue";
     my_so.favoriteNightClub = "The Bluenote Tavern";
     my_so.favoriteSong = "My World is Blue";
     
     for (var prop in my_so) {
       trace(prop+": "+my_so[prop]);
     }
     

Det delade objektet innehåller följande data:

     favoriteSong: My World is Blue
     favoriteNightClub: The Bluenote Tavern
     favoriteColor: blue
     data: [object Object]
     

För externa delade objekt som används med en server är alla attribut i egenskapen data tillgängliga för alla klienter som är anslutna till det delade objektet och alla attribut sparas om objektet är beständigt. Om en klient ändrar värdet för ett attribut ser alla klienter det nya värdet.



Implementering
    public function get data():Object

Relaterade API-element

defaultObjectEncoding

egenskap 
defaultObjectEncoding:uint

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Standardobjektkodningen (AMF-version) för alla lokala delade objekt som skapats i SWF-filen. När lokala delade objekt skrivs till disken anger egenskapen SharedObject.defaultObjectEncoding vilken AMF-version som ska användas: formatet ActionScript 3.0 (AMF3) eller formatet ActionScript 1.0 eller 2.0 (AMF0).

Mer information om objektkodning, inklusive skillnaden mellan kodning i lokala och externa delade objekt, finns i beskrivningen för egenskapen objectEncoding.

Med standardvärdet för SharedObject.defaultObjectEncoding används formatet ActionScript 3.0 (AMF3). Om du behöver skriva lokala delade objekt som kan läsas av SWF-filer i ActionScript 2.0 eller 1.0 anger du att SharedObject.defaultObjectEncoding ska använda motsvarande format flash.net.ObjectEncoding.AMF0 i början av skriptet, innan du skapar några lokala delade objekt. Alla lokala delade objekt som skapas efter detta kommer att använda AMF0-kodning och kan användas med äldre innehåll. När de lokala delade objekten har skapats kan du inte ändra värdet objectEncoding för dessa objekt genom inställning av SharedObject.defaultObjectEncoding.

Om du vill ange objektkodning per objekt, istället för alla delade objekt som skapas av SWF-filen, anger du egenskapen objectEncoding för det lokala delade objektet.



Implementering
    public static function get defaultObjectEncoding():uint
    public static function set defaultObjectEncoding(value:uint):void

Relaterade API-element

fps

egenskap 
fps:Number  [lässkyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger hur många gånger per sekund som en klients ändringar i ett delat objekt skickas till servern.

Använd den här metoden när du vill kontrollera trafiken mellan klienten och servern. Om t.ex. anslutningen mellan klienten och servern är relativt långsam kanske du vill ange fps med ett lågt värde. Och omvänt gäller om klienten är ansluten till ett fleranvändarprogram där timing är viktigt och då kanske du vill ange fps med ett högt värde.

När en inställning av fps görs kommer händelsen sync att triggas och alla ändringar uppdateras på servern. Om du endast vill uppdatera servern manuellt anger du fps med 0.

Ändringar skickas inte till servern förrän händelsen sync har skickats. Detta innebär att om svarstiden från servern är långsam kan uppdateringar inte skickas så ofta som egenskapens värde anger.



Implementering
    public function set fps(value:Number):void

objectEncoding

egenskap 
objectEncoding:uint

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Objektkodningen (AMF-version) för det här delade objektet. När ett lokalt delat objekt skrivs till disken anger egenskapen objectEncoding vilken AMF-version som ska användas: formatet ActionScript 3.0 (AMF3) eller formatet ActionScript 1.0 eller 2.0 (AMF0).

Objektkodningen hanteras olika beroende på om det delade objektet är lokalt eller externt.

  • Local shared objects. Du kan hämta eller ange värdet för egenskapen objectEncoding för lokala delade objekt. Värdet för objectEncoding påverkar vilken formatering som används vid writing av det lokala delade objektet. Om det lokala delade objektet måste vara läsbart av SWF-filer i ActionScript 2.0 eller 1.0 anger du objectEncoding med ObjectEncoding.AMF0. Även om objektkodningen är inställd att skriva i AMF3-format kan Flash Player läsa lokala delade objekt i AMF0-format. Detta innebär att om du använder standardvärdet för den här egenskapen, ObjectEncoding.AMF3, kan SWF-filen ändå läsa delade objekt som skapats av SWF-filer i ActionScript 2.0 eller 1.0.
  • Remote shared objects. Vid anslutning till servern ärver ett externt delat objekt objectEncoding-inställningen från den associerade NetConnection-instansen (den instans som används vid anslutningen till det externa delade objektet). När det inte finns någon anslutning till servern ärver ett externt delat objekt defaultObjectEncoding-inställningen från den associerade NetConnection-instansen. Eftersom värdet för egenskapen objectEncoding i ett externt delat objekt avgörs av NetConnection-instansen är denna egenskap skrivskyddad för externa delade objekt.



Implementering
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Utlöser
ReferenceError — Du försökte ange värdet för egenskapen objectEncoding på ett externt delat objekt. Den här egenskapen är skrivskyddad för externa delade objekt, eftersom dess värde avgörs av den associerade NetConnection-instansen.

Relaterade API-element

    

preventBackup

egenskap 
preventBackup:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 3.7

Anger huruvida lokala delade objekt ska säkerhetskopieras med säkerhetskopieringstjänsten i iOS-molnet.

Ange true eller false:

  • true - Förhindrar att alla lokalt delade objekt säkerhetskopieras med säkerhetskopieringstjänsten i iOS-molnet.
  • false (standard) - Lokala delade objekt kommer att säkerhetskopieras med säkerhetskopieringstjänsten i iOS-molnet

Den här egenskapen gäller bara för lokalt delade objekt och gäller endast för iOS.



Implementering
    public static function get preventBackup():Boolean
    public static function set preventBackup(value:Boolean):void

size

egenskap 
size:uint  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Det delade objektets aktuella storlek i byte.

Flash beräknar ett delat objekts storlek genom att gå igenom alla dess dataegenskaper. Ju fler dataegenskaper objektet har, desto längre tid tar det att uppskatta storleken. Att uppskatta objektstorlek kan ta lång tid. Undvik därför att använda den här metoden om du inte måste.



Implementering
    public function get size():uint

Exempel  ( Så här använder du exemplet )
I följande kod skapas ett SharedObject-objekt med ID:t "thehobbit". Egenskapen username läggs till i dataegenskapen för SharedObject-objektet. Därefter spåras egenskapen size som returnerar angivet värde.
import flash.net.SharedObject;

// if these get copied or not
var mySo:SharedObject = SharedObject.getLocal("thehobbit");
mySo.data.username = "bilbobaggins";
trace(mySo.size); // 55
Metoddetaljer

clear

()metod
public function clear():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Tar bort alla data och det delade objektet från disken för lokala delade objekt. Referensen till det delade objektet är fortfarande aktivt, men alla dataegenskaper tas bort.

För externa delade objekt som används med Flash Media Server kopplar clear() bort objektet och tar bort alla data. Om det delade objektet är lokalt beständigt tar motoden också bort det från disken. Referensen till det delade objektet är fortfarande aktivt, men alla dataegenskaper tas bort.


Exempel  ( Så här använder du exemplet )

Med följande kod skapas (och hämtas vid efterföljande körningar) ett SharedObject-objekt som används med ID:t hostName. Egenskapen username läggs till i dataegenskapen för SharedObject-objektet. Slutligen anropas metoden clear() som rensar alla data som har lagts till i dataobjektet (i detta fall en enstaka egenskap som heter username).
package {
    import flash.net.SharedObject;

    public class SharedObject_clear {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_clear() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            if(mySo.data.username == null) {
                mySo.data.username = username;
                trace("set: " + mySo.data.username); // yourUsername
            }
            else {
                mySo.clear();
                trace("cleared: " + mySo.data.username); // undefined
            }
        }
    }
}

close

()metod 
public function close():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Stänger anslutningen mellan ett delat objekt och servern. Om ett externt delat objekt är lokalt beständigt kan användaren göra ändringar i den lokala kopian av objektet efter att den här metoden har anropats. Eventuella ändringar som har gjorts i det lokala objektet skickas till servern nästa gång som användaren ansluter till det externa delade objektet.

connect

()metod 
public function connect(myConnection:NetConnection, params:String = null):void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Ansluter till ett delat objekt på servern via ett angivet NetConnection-objekt. Använd den här metoden efter att du har anropat getRemote(). När en anslutning har upprättats skickas händelsen sync.

Innan du försöker arbeta med ett externt delat objekt ska du söka efter eventuella fel med en try..catch..finally-sats. Avlyssna och hantera sedan händelsen sync innan du gör ändringar i det delade objektet. Ändringar som görs lokalt – innan händelsen sync skickas – kan försvinna.

Anropa metoden connect() för att ansluta till ett externt delat objekt, till exempel:

     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
     myRemoteSO.connect(myNC);
     

Parametrar

myConnection:NetConnection — Ett NetConnection-objekt som används med RTMP (Real-Time Messaging Protocol), t.ex ett som används vid kommunikation med Flash Media Server.
 
params:String (default = null) — En sträng som definierar ett meddelande som ska skickas till det externa delade objektet på servern. Kan inte användas med Flash Media Server


Utlöser
Error — Flash Player kunde inte ansluta till angivet externt delat objekt. Kontrollera att NetConnection-instansen är giltig och ansluten samt att det externa delade objektet har skapats på servern.

Relaterade API-element

flush

()metod 
public function flush(minDiskSpace:int = 0):String

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skriver omedelbart ett lokalt beständigt delat objekt i en lokal fil. Om du inte använder den här metoden skriver Flash Player det delade objektet på en fil när det delade objektets session tar slut, det vill säga när SWF-filen stängs och det delade objektet skräpsamlas eftersom det inte längre finns några referenser till det, eller när du anropar SharedObject.clear() eller SharedObject.close().

Om metoden returnerar SharedObjectFlushStatus.PENDING visas en dialogruta där användaren uppmanas att öka mängden tillgängligt utrymme för objekt från den här domänen. Om du vill att utrymmet för det delade objektet ska utökas när det sparas igen så att returvärdet PENDING kan undvikas, kan du ange ett värde för minDiskSpace. När Flash Player försöker skriva till filen används det antal byte som angetts för minDiskSpace i stället för att Flash Player söker efter tillräckligt utrymme för att spara det delade objektet med dess nuvarande storlek.

Om du förväntar dig att det delade objektet växer upp till 500 byte trots att det är mycket mindre från början, anger du 500 för minDiskSpace. Om användaren uppmanas att tilldela diskutrymme för det delade objektet efterfrågas 500 byte. När användaren har tilldelat det minnesutrymme som behövs behöver inte Flash efterfråga mer utrymme när objektet sparas igen (förutsatt att storleken inte överskrider 500 byte).

När användaren har svarat i dialogrutan anropas metoden igen. En netStatus-händelse skickas med code-egenskapen SharedObject.Flush.Success eller SharedObject.Flush.Failed.

Parametrar

minDiskSpace:int (default = 0) — Minsta diskutrymmet, i byte, som måste finnas tillgängligt för detta objekt.

Returnerar
String — Något av följande värden:
  • SharedObjectFlushStatus.PENDING: Användaren har tillåtit att lokal information sparas för objekt från den här domänen, men mängden tilldelat diskutrymme är inte tillräckligt för att spara objektet. Flash Player uppmanar användaren att tilldela mer minnesutrymme. Om du vill att utrymmet för det delade objektet ska kunna utökas när det sparas och därigenom undvika returvärdet SharedObjectFlushStatus.PENDING anger du ett värde för minDiskSpace.
  • SharedObjectFlushStatus.FLUSHED: Det delade objektet har skrivits till en fil på den lokala disken.

Utlöser
Error — Flash Player kan inte skriva det delade objektet till diskenheten. Detta fel kan uppstå om användaren har gjort en permanent inställning som inte tillåter lokal datalagring för objekt från denna domän.

Obs! Lokalt innehåll kan alltid skriva delade objekt från utomstående domäner (andra domäner än den som är i webbläsarens adressfält), även om delade objekt inte får skrivas på disken av utomstående domäner.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

Med följande kod skapas (och hämtas vid efterföljande körningar) ett SharedObject-objekt som används med ID:t hostName. Egenskapen username läggs till i dataegenskapen för SharedObject-objektet. Därefter anropas metoden flush() följt av en kontroll av att strängen pending eller booleska värdet true eller false returnerades. Du bör vara medveten om att alla öppna SharedObject-instanser rensas automatiskt om den aktuella instansen av Flash Player stängs.
package {
    import flash.net.SharedObject;

    public class SharedObject_flush {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_flush() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            mySo.data.username = username;
            var flushResult:Object = mySo.flush();
            trace("flushResult: " + flushResult);
            trace(mySo.data.username); // yourUsername
        }
    }
}

getLocal

()metod 
public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Returnerar en referens till ett lokalt beständigt delat objekt som bara är tillgängligt för den nuvarande klienten. Om det delade objektet inte redan finns skapar metoden ett. Om några värden som skickades till getLocal() är ogiltiga eller om anropet misslyckas genereras ett undantag i Flash Player.

I följande kod visas hur du tilldelar returnerat referensvärde för delat objekt till en variabel:

var so:SharedObject = SharedObject.getLocal("savedData");

Obs! Om användaren har valt att aldrig tillåta lokal lagring för den här domänen sparas inte objektet lokalt, även om ett värde anges för localPath. Undantaget från regeln är lokalt innehåll. Lokalt innehåll kan alltid skriva delade objekt från utomstående domäner (andra domäner än den som är i webbläsarens adressfält), även om delade objekt inte får skrivas på disken av utomstående domäner.

Namnkonflikter undviks genom att Flash undersöker den plats där SWF-filen som skapar det delade objektet finns. Om en SWF-fil på www.myCompany.com/apps/stockwatcher.swf skapar ett delat objekt med namnet portfolio är det delade objektet inte i konflikt med ett annat objekt som heter portfolio som skapats av en SWF-fil på www.yourCompany.com/photoshoot.swf eftersom SWF-filerna kommer från olika kataloger.

Parametern localPath är valfri, men det kan vara bra att använda den, särskilt om andra SWF-filer behöver få tillgång till det delade objektet. Om data i det delade objektet är specifika för en SWF-fil som inte kommer att flyttas till någon annan plats går det bra att använda standardvärdet. Om andra SWF-filer behöver få tillgång till det delade objektet eller om SWF-filen som skapar det delade objektet kommer att flyttas senare, påverkar parameterns värde åtkomsten till det delade objektet. Om du till exempel skapar ett delat objekt där localPath ställts in på standardvärdet, som är den fullständiga sökvägen till SWF-filen, får inga andra SWF-filer tillgång till det delade objektet. Om du senare flyttar den ursprungliga SWF-filen till en annan plats har inte ens den SWF-filen tillgång till data som redan sparats i det delade objektet.

Använd parametern localpath för att undvika begränsa åtkomst till ett delat objekt av misstag. Den friaste inställningen är att ställa in parametern localPath/. Då är det delade objektet tillgängligt för alla SWF-filer i domänen, men risken för namnkonflikter med andra delade objekt i domänen ökar. En mer begränsad inställning är att lägga till mappnamnen som ingår i hela SWF-filens sökväg i localPath. För till exempel det delade objektet portfolio som skapats av SWF-filen på www.myCompany.com/apps/stockwatcher.swf, kan du ange parametern localPath med /, /apps eller /apps/stockwatcher.swf. Du måste avgöra vilket alternativ som ger bäst flexibilitet för programmet.

Överväg följande säkerhetsmodell när du använder den här metoden:

  • Det går inte att använda delade objekt över sandlådegränser.
  • Användare kan begränsa åtkomst till delade objekt i dialogrutan Inställningar i Flash Player eller med Inställningshanteraren. Med standardinställningen kan ett program skapa delade objekt på upp till 100 kB per domän. Administratörer och användare kan också ange egna gränser för hur mycket som får skrivas i filsystemet.

Anta att du ska publicera SWF-filinnehåll för lokal uppspelning (antingen lokala SWF-filer eller EXE-filer) och att du behöver åtkomst till ett specifikt delat objekt från mer än en lokal SWF-fil. Då bör du tänka på att med lokala filer kan två olika platser användas vid lagring av delade objekt. Vilken domän som används beror på vilken säkerhetsbehörighet den lokala filen som skapade det delade objektet har. Lokala filer kan ha tre olika behörighetsnivåer:

  1. Åtkomst endast till det lokala filsystemet.
  2. Åtkomst enbart till nätverket.
  3. Åtkomst till både nätverket och det lokala filsystemet.

Lokala filer med åtkomst till det lokala filsystemet (nivå 1 eller 3) sparar sina delade objekt på en plats. Lokala filer utan åtkomst till det lokala filsystemet (nivå 2) sparar sina delade objekt på en annan plats.

Du kan förhindra att metoden används av en SWF-fil genom att ställa in parametern allowNetworking i object- och embed-taggarna på den HTML-sida där SWF-innehållet finns.

Mer information finns i avsnittet Security på Flash Player Developer Center.

Parametrar

name:String — Objektets namn. Namnet kan innehålla snedstreck (/); work/addresses är till exempel ett giltigt namn. Blanksteg får inte användas i ett delat objekts namn. Det får inte heller följande tecken:
  ~ % & \ ; : " ' , < > ? # 
  
 
localPath:String (default = null) — Den fullständiga eller delvisa sökvägen till SWF-filen som skapade det delade objektet och som avgör var objektet ska sparas lokalt. Om du inte anger den här parametern används hela sökvägen.
 
secure:Boolean (default = false) — Avgör om åtkomst till detta delade objekt är begränsat till SWF-filer som levereras över en HTTPS-anslutning. Om SWF-filen levereras via HTTPS ger detta parametervärde följande effekter:
  • 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 SWF-filen levereras över en anslutning utan HTTPS och du försöker ange parametern med true går det inte att skapa ett nytt delat objekt (åtkomst till ett befintligt säkert delat objekt misslyckas) och null returneras. Oavsett parameterns värde räknas det delade objektet som skapats mot det totala diskutrymmet som tillåts för domänen.

I följande diagram visas hur parametern secure används:

säkert delat objektdiagram

Returnerar
SharedObject — En referens till ett delat objekt som är lokalt beständigt och bara är tillgängligt för den nuvarande klienten. Om Flash Player inte kan skapa eller hitta det delade objektet (om t.ex. localPath har angetts, men katalogen saknas) orsakar metoden ett undantag.

Utlöser
Error — Flash Player kan inte skapa det delade objektet av någon anledning. Felet kan uppstå om det inte är tillåtet för Flash-innehåll från tredje part att skapa och spara beständiga delade objekt (gäller inte lokalt innehåll). Användare kan neka att utomstående sparar delade objekt på panelen Globala lagringsinställningar i Inställningshanteraren på http://www.adobe.com/support/documentation/se/flashplayer/help/settings_manager03.html.

getRemote

()metod 
public static function getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Returnerar en referens till ett delat objekt på Flash Media Server som flera klienter har åtkomst till. Om det externa delade objektet inte redan finns skapar metoden ett.

Om du vill skapa ett externt delat objekt anropar du getRemote() och sedan connect() för att ansluta det externa delade objektet till servern, liksom i följande:

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://somedomain.com/applicationName");
     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", nc.uri, false);
     myRemoteSO.connect(nc);
     

Bekräfta att lokala och externa kopior av det delade objektet är synkroniserade genom att avlyssna och hantera händelsen sync. Alla klienter som vill dela detta objekt måste skicka samma värden för parametrarna name och remotePath.

För att skapa ett delat objekt som är tillgängligt endast för aktuell klient använder du SharedObject.getLocal().

Parametrar

name:String — Det externa delade objektets namn. Namnet kan innehålla snedstreck (/); arbete/adresser är till exempel ett giltigt namn. Blanksteg får inte användas i ett delat objekts namn. Det får inte heller följande tecken:
    ~ % & \ ; :  " ' , > ? ? #
 
remotePath:String (default = null) — Serverns URI där det delade objektet ska sparas. Denna URI måste vara identisk med NetConnection-objektets URI som skickas till metoden connect().
 
persistence:Object (default = false) — Anger om attributen för det delade objektets dataegenskap är beständiga lokalt, externt eller både och. Med den här parametern kan du även ange var det delade objektet ska sparas lokalt. Följande värden är giltiga:
  • Värdet false anger att delat objekt inte är beständigt på klienten eller servern.
  • Värdet true anger att delat objekt är beständigt endast på servern.
  • En fullständig eller del av lokal sökväg till delat objekt anger att objektet är beständigt på klienten och servern. På klienten sparas det i angiven sökväg och på servern sparas det i en underkatalog inom programkatalogen.

Obs! Om användaren har valt att aldrig tillåta lokal lagring för den här domänen sparas inte objektet lokalt, även om en lokal sökväg anges för beständighet. Mer information finns i klassbeskrivningen.

 
secure:Boolean (default = false) — Avgör om åtkomst till detta delade objekt är begränsat till SWF-filer som levereras över en HTTPS-anslutning. Mer information finns i beskrivningen för parametern secure i metodposten getLocal.

Returnerar
SharedObject — En referens till ett objekt som kan delas över flera klienter.

Utlöser
Error — Flash Player kan inte skapa eller hitta det delade objektet. Detta kan inträffa om obefintliga sökvägar har angetts för parametrarna remotePath och persistence.

Relaterade API-element

send

()metod 
public function send(... arguments):void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Sänder ett meddelande till alla klienter som är anslutna till det delade objektet, inklusive klienten som skickade meddelandet. För att fortsätta och åtgärda meddelandet skapar du en callback-funktion som är kopplad till det delade objektet.

Parametrar

... arguments — Ett eller flera argument: En sträng som identifierar meddelandet, namnet på en eller flera hanterarfunktioner som kopplas till det delade objektet samt valfria parametrar av valfri typ. Hanterarnamnet kan endast vara på en nivå (d.v.s. det kan inte ha formatet överordnad/underordnad) och är relativt till det delade objektet. Argumenten är serialiserade och skickas via anslutningen. De tas emot i samma ordning av mottagande hanterare. Om en parameter är ett cirkulärt objekt (t.ex. en länkad lista som är cirkulär) hanteras referenserna korrekt av serialiseraren.

Obs: Använd inte en reserverad term som funktionsnamn. Till exempel så kommer myRemoteSO.send("close") att misslyckas.

setDirty

()metod 
public function setDirty(propertyName:String):void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger för servern att värdet för en egenskap i det delade objektet har ändrats. Den här metoden markerar egenskaper som dirty, vilket innebär att de har ändrats.

Anropa SharedObject.setProperty() om du vill skapa egenskaper för ett delat objekt.

Metoden SharedObject.setProperty() implementerar setDirty(). I de flesta fall, som exempelvis när värdet för en egenskap är en primitiv typ som String eller Number, kan du anropa setProperty() istället för setDirty(). När värdet för en egenskap är ett objekt som innehåller de egna egenskaperna anropar du däremot setDirty() för att ange att värdet inom objektet har ändrats.

Parametrar

propertyName:String — Namnet på egenskapen som har ändrats.

Relaterade API-element

setProperty

()metod 
public function setProperty(propertyName:String, value:Object = null):void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Uppdaterar värdet för en egenskap i ett delat objekt och anger för servern att egenskapens värde har ändrats. Med metoden setProperty() markeras explicit egenskaper som ändrade (dirty).

Mer information om externa delade objekt finns i dokumentationen för Flash Media Server.

Obs! Metoden SharedObject.setProperty() implementerar metoden setDirty(). I de flesta fall, som exempelvis när värdet för en egenskap är en primitiv typ som String eller Number, använder du setProperty() istället för setDirty(). Däremot, när värdet för en egenskap är ett objekt som innehåller de egna egenskaperna, använder du setDirty() för att ange att värdet inom objektet har ändrats. Det är i allmänhet bättre att anropa setProperty() istället för setDirty(), eftersom med setProperty() uppdateras ett egenskapsvärde endast om värdet har ändrats. Med setDirty() genomförs synkronisering på alla mottagande klienter.

Parametrar

propertyName:String — Namnet på egenskapen i det delade objektet.
 
value:Object (default = null) — Värdet för egenskapen (ett ActionScript-objekt) eller null som tar bort egenskapen.

Relaterade API-element

Händelsedetaljer

asyncError

Händelse
Typ av händelseobjekt: flash.events.AsyncErrorEvent
egenskap AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skickas om ett undantag inträffar asynkront, d.v.s. från ursprunglig asynkron kod.

Konstanten AsyncErrorEvent.ASYNC_ERROR definierar värdet för ett asyncError-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
targetObjektet som skickade händelsen.
errorFelet som utlöste händelsen.

netStatus

Händelse  
Typ av händelseobjekt: flash.events.NetStatusEvent
egenskap NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skickas om SharedObject-instansen ger en status- eller felrapport. Händelsen netStatus innehåller egenskapen info, vilket är ett informationsobjekt som innehåller specifik information om händelsen, t.ex. om en anslutning lyckades eller om det delade objektet skrevs till den lokala diskenheten.

Definierar värdet för ett netStatus-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
infoEtt objekt med egenskaper som beskriver objektets status eller feltillstånd.
targetNetConnection- eller NetStream-objektet rapporterar status.

Relaterade API-element

sync

Händelse  
Typ av händelseobjekt: flash.events.SyncEvent
egenskap SyncEvent.type = flash.events.SyncEvent.SYNC

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skickas när ett externt delat objekt har uppdaterats av servern.

Definierar värdet för ett sync-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
changeListEn array med egenskaper som beskriver arrayens status.
targetSharedObject-instansen som har uppdaterats av servern.

Relaterade API-element

SharedObjectExample.as

Med följande kod skapas (och hämtas vid efterföljande körningar) ett delat objekt som används med ID:t "application-name". När användaren klickar på knappen Spara försöker metoden saveValue() att spara en egenskap med namnet savedValue till egenskapen data i objektet SharedObject. Om Flash Player måste begära tillstånd att spara data anropas metoden onFlushStatus() när användaren ger eller nekar tillstånd. När användaren klickar på knappen Rensa tar metoden clearValue() bort värdet som sparats i savedValue. Nästa gång som SWF-filen läses in är värdet som hämtas undefined.
package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import flash.net.SharedObject;
    import flash.net.SharedObjectFlushStatus;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFieldType;
    
    public class SharedObjectExample extends Sprite {
        
        private var mySo:SharedObject;
        
        public function SharedObjectExample() {
            buildUI();
            saveBtn.addEventListener(MouseEvent.CLICK, saveValue);
            clearBtn.addEventListener(MouseEvent.CLICK, clearValue);
            
            mySo = SharedObject.getLocal("application-name");
            output.appendText("SharedObject loaded...\n");
            output.appendText("loaded value: " + mySo.data.savedValue + "\n\n");
        }

         private function saveValue(event:MouseEvent):void {
            output.appendText("saving value...\n");
            mySo.data.savedValue = input.text;
            
            var flushStatus:String = null;
            try {
                flushStatus = mySo.flush(10000);
            } catch (error:Error) {
                output.appendText("Error...Could not write SharedObject to disk\n");
            }
            if (flushStatus != null) {
                switch (flushStatus) {
                    case SharedObjectFlushStatus.PENDING:
                        output.appendText("Requesting permission to save object...\n");
                        mySo.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
                        break;
                    case SharedObjectFlushStatus.FLUSHED:
                        output.appendText("Value flushed to disk.\n");
                        break;
                }
            }
            output.appendText("\n");
        }
        
        private function clearValue(event:MouseEvent):void {
            output.appendText("Cleared saved value...Reload SWF and the value should be \"undefined\".\n\n");
            delete mySo.data.savedValue;
        }
        
        private function onFlushStatus(event:NetStatusEvent):void {
            output.appendText("User closed permission dialog...\n");
            switch (event.info.code) {
                case "SharedObject.Flush.Success":
                    output.appendText("User granted permission -- value saved.\n");
                    break;
                case "SharedObject.Flush.Failed":
                    output.appendText("User denied permission -- value not saved.\n");
                    break;
            }
            output.appendText("\n");

            mySo.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
        }
        
        // UI elements
        private var inputLbl:TextField;
        private var input:TextField;
        private var output:TextField;
        private var saveBtn:Sprite;
        private var clearBtn:Sprite;
    
        private function buildUI():void {
            // input label
            inputLbl = new TextField();
            addChild(inputLbl);
            inputLbl.x = 10;
            inputLbl.y = 10;
            inputLbl.text = "Value to save:";
            
            // input TextField
            input = new TextField();
            addChild(input);
            input.x = 80;
            input.y = 10;
            input.width = 100;
            input.height = 20;
            input.border = true;
            input.background = true;
            input.type = TextFieldType.INPUT;
            
            // output TextField
            output = new TextField();
            addChild(output);
            output.x = 10;
            output.y = 35;
            output.width = 250;
            output.height = 250;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.background = true;
            
            // Save button
            saveBtn = new Sprite();
            addChild(saveBtn);
            saveBtn.x = 190;
            saveBtn.y = 10;
            saveBtn.useHandCursor = true;
            saveBtn.graphics.lineStyle(1);
            saveBtn.graphics.beginFill(0xcccccc);
            saveBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var saveLbl:TextField = new TextField();
            saveBtn.addChild(saveLbl);
            saveLbl.text = "Save";
            saveLbl.selectable = false;
            
            // Clear button
            clearBtn = new Sprite();
            addChild(clearBtn);
            clearBtn.x = 230;
            clearBtn.y = 10;
            clearBtn.useHandCursor = true;
            clearBtn.graphics.lineStyle(1);
            clearBtn.graphics.beginFill(0xcccccc);
            clearBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var clearLbl:TextField = new TextField();
            clearBtn.addChild(clearLbl);
            clearLbl.text = "Clear";
            clearLbl.selectable = false;
        }
    }
}




[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.