Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.net 

SharedObject  - AS3

Пакетыx

Верхний уровень
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

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.net
Классpublic class SharedObject
НаследованиеSharedObject Inheritance EventDispatcher Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс SharedObject используется для чтения и хранения ограниченных объемов данных на пользовательском компьютере или на сервере. Общие объекты обеспечивают обмен данными в режиме реального времени между несколькими клиентскими SWF-файлами и объектами, которые находятся постоянно на локальном компьютере или удаленном сервере. Локальные общие объекты схожи с файлами cookie в браузерах, а удаленные общие объекты имеют сходство с устройствами передачи данных в режиме реального времени. Для использования удаленных общих объектов требуется Adobe Flash Media Server.

Используйте общие объекты для следующего:

  • Поддержка локального постоянства. Это самый простой способ применения общего объекта, не требующий Flash Media Server. Например, вызов SharedObject.getLocal() поможет создать общий объект в приложении, предположим, калькулятор с памятью. Когда пользователь закрывает калькулятор, проигрыватель Flash Player сохраняет последнее значение в общем объекте на компьютере пользователя. При следующем запуске калькулятор будет содержать полученные ранее значения. В качестве альтернативы, если перед закрытием калькулятора вы установите для свойств общего объекта значение null, то при последующем запуске приложение откроется без каких-либо значений. Еще одним примером поддержки локальной устойчивости служит отслеживание предпочтений пользователя или других данных для крупного web-сайта, (например, какие статьи пользователь прочитал на новостном сайте). Отслеживание этой информации позволяет отображать прочитанные ранее статьи не так, как новые непрочитанные. Хранение этой информации на компьютере пользователя снижает нагрузку на сервер.
  • Хранение и совместное использование данных на сервере Flash Media Server. Общий объект может хранить данные на сервере, откуда их смогут извлекать другие клиенты. Например, вызовите SharedObject.getRemote(), чтобы создать удаленный общий объект, постоянно находящийся на сервере (например, список телефонов). Каждый раз, когда клиент вносит изменения в общий объект, исправленные данные становятся доступными всем клиентам, которые в данный момент подключены к объекту или которые подключаются к нему позднее. Если объект также имеет локальное постоянство, а клиент изменяет данные, но при этом не подключен к серверу, данные копируются в удаленный общий объект при последующем подключении пользователя к объекту.
  • Совместное использование данных в режиме реального времени. Общий объект может предоставить нескольким разным клиентам доступ к данным в режиме реального времени. Например, можно открыть удаленный общий объект, на котором хранится список пользователей, подключенных к дискуссионной группе, которую могут видеть все клиенты, подключенные к данному объекту. Когда пользователь входит или покидает дискуссионную группу, объект обновляется и все клиенты, подключенные к данному объекту, видят исправленный список пользователей дискуссионной группы.

Для создания локального общего объекта вызовите SharedObject.getLocal(). Для создания удаленного общего объекта вызовите SharedObject.getRemote().

При закрытии приложения общие объекты стираются или записываются на диск. Для явной записи данных на диск можно также вызвать метод flush().

Примечания по локальному дисковому пространству. Локальные общие объекты имеют определенные ограничения, которые следует обязательно учитывать при проектировании приложений. В некоторых случаях SWF-файлам запрещено записывать локальные общие объекты. Иногда данные, хранящиеся в локальных общих объектах, могут быть стерты без вашего ведома. Пользователи Flash Player могут управлять дисковым пространством, доступным отдельным доменам или всем доменам. Когда пользователи уменьшают объем доступного дискового пространства, некоторые локальные общие объекты могут быть удалены. Пользователи Flash Player также снабжены элементами управления конфиденциальностью, которые могут запретить сторонним доменам (другим доменам, отличным от домена, указанного в текущий момент в адресной строке обозревателя) чтение или запись локальных общих объектов. Обратите внимание, что начиная с версии 3.3 в Mac OS изменилось расположение локальных объектов общего доступа. При обновлении до пространства имен 3.3 может показаться, что объекты утеряны.

Примечание. SWF-файлы, хранящиеся и запускаемые не на удаленном сервера, а на локальном компьютере, всегда могут записывать на диск сторонние общие объекты. Дополнительные сведения о сторонних общих объектах см. на панели Global Storage Settings в справочной системе Flash Player.

Рекомендуется проверять наличие сбоев, связанных с объемом дискового пространства и настройками конфиденциальности пользователей. Выполняйте данные проверки при вызове getLocal() и flush():

  • SharedObject.getLocal() — если вызов этого метода приводит к сбою, проигрыватель Flash Player создает исключение. Сбой может произойти, если пользователь отключил сторонние общие объекты, а домен SWF-файла не совпадает с доменом в адресной строке обозревателя.
  • SharedObject.flush() — при неудачном вызове данного метода проигрыватель Flash Player создает исключение. При успешном вызове он возвращает SharedObjectFlushStatus.FLUSHED. Если требуется дополнительное дисковое пространство, он возвращает значение SharedObjectFlushStatus.PENDING. Пользователь Flash Player получает предупреждение о необходимости увеличить доступное пространство для локально сохраняемой информации. Соответственно, событие netStatus отправляется с информационным объектом, указывающим на сбой или успех проведенной очистки.

При попытке SWF-файла создать или модифицировать локальные общие объекты следует убедиться в том, что ширина этого SWF-файла составляет не менее 215 пикселей, а высота — не менее 138 пикселей (это минимальные размеры для отображения диалогового окна, предупреждающего пользователя о необходимости увеличить место для хранения локальных общих объектов). Если данный SWF-файл меньше указанных размеров, но при этом увеличение пространства для хранения все же требуется, происходит сбой SharedObject.flush(), после которого возвращается значение SharedObjectFlushedStatus.PENDING и отправляется событие netStatus.

Удаленные общие объекты. При работе с Flash Media Server можно создавать и применять удаленные общие объекты, которые совместно используются в режиме реального времени всеми клиентами, подключенными к вашему приложению. Если какой-либо клиент изменяет свойство удаленного общего объекта, то данное свойство меняется для всех подключенных клиентов. Удаленные общие объекты можно использовать для синхронизации клиентов (например, игроков в многопользовательской игре).

Каждый удаленный общий объект имеет свойство data, которое представляет собой объект со свойствами, в которых хранятся данные. Чтобы изменить свойство объекта данных, вызовите setProperty(). Сервер обновляет свойства, создает событие sync и отправляет свойства обратно подключенным клиентам.

Удаленным общим объектам можно задать постоянство: на клиенте, на сервере или сразу на обоих объектах. По умолчанию проигрыватель Flash Player сохраняет постоянные локальные общие объекты удаленного типа, размер которых не превышает 100 килобайт. При сохранении более крупного объекта Flash Player отображает диалоговое окно «Локальное хранение», в котором пользователь может разрешить или запретить локальное хранение общего объекта. Убедитесь в том, что габаритные размеры используемой рабочей области составляют не менее 215х138 пикселей. Это минимальный размер, необходимый Flash для отображения диалогового окна.

Если пользователь выбирает параметр Allow, сервер сохраняет общий объект и отправляет событие netStatus со свойством code, имеющим значение SharedObject.Flush.Success. Если пользователь выбирает параметр Deny, сервер сохраняет общий объект и отправляет событие netStatus со свойством code, имеющим значение SharedObject.Flush.Failed.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  client : Object
Указывает объект, для которого вызываются методы ответного вызова.
SharedObject
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  data : Object
[только для чтения] Сборник атрибутов, связанных со свойством data объекта. Эти атрибуты можно совместно использовать и сохранять.
SharedObject
  defaultObjectEncoding : uint
[статические] Кодировка объекта по умолчанию (версия AMF) для всех локальных общих объектов, созданных в SWF-файле.
SharedObject
  fps : Number
[только для записи] Определяет, сколько раз в секунду изменения общего объекта, внесенные клиентом, отправляются на сервер.
SharedObject
  objectEncoding : uint
Кодировка объекта (версия AMF) для данного общего объекта.
SharedObject
      preventBackup : Boolean
[статические] Указывает, будет ли выполняться резервное копирование локальных общих объектов в облачной службе резервного копирования iOS.
SharedObject
  size : uint
[только для чтения] Текущий размер общего объекта (в байтах).
SharedObject
Общедоступные методы
 МетодОпределено
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
  
Удаляет все данные и удаляет общий объект с диска для локальных общих объектов.
SharedObject
  
Закрывает подключение между удаленным общим объектом и сервером.
SharedObject
  
connect(myConnection:NetConnection, params:String = null):void
Подключается к удаленному общему объекту на сервере с помощью указанного объекта NetConnection.
SharedObject
 Inherited
Посылает событие в поток событий.
EventDispatcher
  
flush(minDiskSpace:int = 0):String
Немедленно записывает постоянный локальный общий объект в локальный файл.
SharedObject
  
getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject
[статические] Возвращает ссылку на постоянный локальный общий объект, доступный только для текущего клиента.
SharedObject
  
getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject
[статические] Возвращает ссылку на общий объект на сервере Flash Media Server, доступный нескольким клиентам.
SharedObject
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
  
send(... arguments):void
Транслирует сообщение всем клиентам, подключенным к удаленному общему объекту (включая клиента, отправляющего сообщение).
SharedObject
  
setDirty(propertyName:String):void
Указывает серверу, что значение свойства в общем объекте было изменено.
SharedObject
  
setProperty(propertyName:String, value:Object = null):void
Обновляет значение свойства в общем объекте и указывает серверу, что значение свойства было изменено.
SharedObject
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
  Отправляется, когда исключение создается асинхронным образом — то есть в коде, изначально имеющем асинхронную природу.SharedObject
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным.EventDispatcher
  Отправляется, когда экземпляр SharedObject сообщает о своем состоянии или о случившейся ошибке.SharedObject
  Отправляется, когда удаленный общий объект обновляется сервером.SharedObject
Сведения о свойстве

client

свойство
client:Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Указывает объект, для которого вызываются методы ответного вызова. Объект по умолчанию: this. Если в свойстве client указать другой объект, методы обратного вызова будут вызываться на этом другом объекте.



Реализация
    public function get client():Object
    public function set client(value:Object):void

Выдает
TypeError — В качестве свойства client должен быть указан объект, имеющий значение, отличное от null.

data

свойство 
data:Object  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Сборник атрибутов, связанных со свойством data объекта. Эти атрибуты можно совместно использовать и сохранять. Каждый атрибут может быть объектом любого типа ActionScript или JavaScript — массивом, числом, логическим значением, ByteArray, XML и т.п. Например, в следующих строках присваиваются значения различным аспектам общего объекта:

     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]);
     }
     

Все атрибуты свойства data общего объекта сохраняются, если объект обладает постоянством, при этом данный общий объект содержит следующую информацию:

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

Примечание. Не следует присваивать значения непосредственно свойству data общего объекта, например so.data = someValue, так как проигрыватель Flash Player игнорирует подобное присвоение.

Чтобы удалить атрибуты для локальных общих объектов, используйте код delete so.data.attributeName, так как установка значения null или undefined для атрибута локального общего объекта не приводит к удалению самого атрибута.

Чтобы создать значения private (значения, доступные только экземпляру клиента в процессе использования объекта и не сохраняемые при закрытии объекта) для общего объекта, создайте свойства, не называя их data, и сохраните их, как показано в следующем примере:

     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]);
     }
     

Общий объект содержит следующие данные:

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

Для удаленных общих объектов, используемых при работе с сервером, все атрибуты свойства data доступны всем клиентам, подключенным к общему объекту. При этом все атрибуты сохраняются, если объект обладает постоянством. Если один из клиентов изменит значение атрибута, то новое значение будет видно всем клиентам.



Реализация
    public function get data():Object

Связанные элементы API

defaultObjectEncoding

свойство 
defaultObjectEncoding:uint

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Кодировка объекта по умолчанию (версия AMF) для всех локальных общих объектов, созданных в SWF-файле. Когда локальные общие объекты записываются на диск, свойство SharedObject.defaultObjectEncoding указывает необходимую версию формата Action Message Format: ActionScript 3.0 (AMF3), ActionScript 1.0 или 2.0 (AMF0).

Дополнительные сведения о кодировке объекта, включая различие между кодировкой в локальных и удаленных общих объектах, см. в описании свойства objectEncoding.

Значение SharedObject.defaultObjectEncoding по умолчанию: использование формата ActionScript 3.0 (AMF3). При необходимости записать локальные общие объекты, которые смогут быть прочитаны SWF-файлами ActionScript 2.0 или 1.0, настройте SharedObject.defaultObjectEncoding на использование формата ActionScript 1.0 или ActionScript 2.0, flash.net.ObjectEncoding.AMF0 (в начале сценария) до непосредственного создания таких объектов. Все локальные общие объекты, созданные после этого, будут использовать кодировку AMF0 и смогут взаимодействовать с более старым содержимым. После создания локальных общих объектов вы не сможете изменить значение objectEncoding существующих локальных общих объектов путем задания параметра SharedObject.defaultObjectEncoding.

Чтобы установить кодировку не для всех общих объектов, созданных SWF-файлов, а для отдельных объектов, установите свойство objectEncoding локального общего объекта.



Реализация
    public static function get defaultObjectEncoding():uint
    public static function set defaultObjectEncoding(value:uint):void

Связанные элементы API

fps

свойство 
fps:Number  [только для записи]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Определяет, сколько раз в секунду изменения общего объекта, внесенные клиентом, отправляются на сервер.

Используйте этот метод при необходимости управлять объемом данных, перемещаемых между клиентом и сервером. Например, если соединение между клиентом и сервером характеризуется относительно медленной скоростью, может потребоваться установить для параметра fps более низкое значение. И наоборот, если клиент подключен к многопользовательскому приложению, в котором важен расчет времени, можно установить для fps относительно высокое значение.

Настройка параметра fps приведет к появлению события sync и обновит все изменения на сервере. Если только требуется вручную обновить сервер, установите для fps значение 0.

Изменения не отправляются на сервер до тех пор, пока не будет отправлено событие sync. Другими словами, если время реагирования сервера слишком мало, обновления могут отправляться на сервер с меньшей частотой, чем значение, указанное в данном свойстве.



Реализация
    public function set fps(value:Number):void

objectEncoding

свойство 
objectEncoding:uint

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Кодировка объекта (версия AMF) для данного общего объекта. Когда локальный общий объект записывается на диск, свойство objectEncoding указывает необходимую версию формата Action Message Format: ActionScript 3.0 (AMF3), ActionScript 1.0 или 2.0 (AMF0).

Кодировка объекта обрабатывается в зависимости от типа общего объекта (локальный или удаленный).

  • Локальные общие объекты. Вы можете получить или установить значение свойства objectEncoding для локальных общих объектов. Значение objectEncoding влияет на то, какое форматирование используется для записи данного локального общего объекта. Если этот локальный общий объект должен считываться SWF-файлами ActionScript 2.0 или 1.0, установите для objectEncoding значение ObjectEncoding.AMF0. Даже если запись должна вестись в кодировке объекта AMF3, проигрыватель Flash Player все равно способен считывать локальные общие объекты в кодировке AMF0. Другими словами, если используется значение данного свойства по умолчанию (ObjectEncoding.AMF3), SWF-файл все равно сможет считывать общие объекты, созданные SWF-файлами в формате ActionScript 2.0 или 1.0.
  • Удаленные общие объекты. При подключении к серверу удаленный общий объект наследует его параметр objectEncoding от связанного экземпляра NetConnection (экземпляра, используемого для подключения к удаленному общему объекту). При отсутствии подключения к серверу удаленный общий объект наследует параметр defaultObjectEncoding от соответствующего экземпляра NetConnection. Поскольку значение свойства objectEncoding удаленного общего объекта определяется экземпляром NetConnection, для удаленных общих объектов это свойство является доступным только для чтения.



Реализация
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Выдает
ReferenceError — Произведена попытка установить значение свойства objectEncoding на удаленном общему объекте. Для удаленных общих объектов это свойство доступно только для чтения, так как его значение определяется соответствующим экземпляром NetConnection.

Связанные элементы API

    

preventBackup

свойство 
preventBackup:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 3.7

Указывает, будет ли выполняться резервное копирование локальных общих объектов в облачной службе резервного копирования iOS.

Укажите значение true или false:

  • true: предотвращает резервное копирование всех локальных общих объектов в облачной службе iOS.
  • false (по умолчанию): выполняется резервное копирование локальных общих объектов в облачной службе iOS.

Это свойство применяется только к локальным общим объектам и только для ОС iOS.



Реализация
    public static function get preventBackup():Boolean
    public static function set preventBackup(value:Boolean):void

size

свойство 
size:uint  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Текущий размер общего объекта (в байтах).

Flash вычисляет размер общего объекта, просматривая свойства всех его данных. Чем больше свойств данных содержит объект, тем больше времени требуется для вычисления размера. Анализ размера объекта может занять существенный объем ресурсов, поэтому этот метод следует использовать только в случае особой необходимости.



Реализация
    public function get size():uint

Пример  ( Использование этого примера )
Следующий код создает объект SharedObject с помощью идентификатора thehobbit. Свойство username добавляется в свойство данных объекта SharedObject. Затем отслеживается свойство size, в результате чего возвращается указанное значение.
import flash.net.SharedObject;

// if these get copied or not
var mySo:SharedObject = SharedObject.getLocal("thehobbit");
mySo.data.username = "bilbobaggins";
trace(mySo.size); // 55
Сведения о методе

clear

()метод
public function clear():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Удаляет все данные и удаляет общий объект с диска для локальных общих объектов. Ссылка на общий объект все еще активна, однако его свойства data удалены.

Для удаленных общих объектов, используемых при работе с Flash Media Server, метод clear() отключает объект и стирает все его данные. Если общий объект характеризуется локальным постоянством, данный метод также удаляет этот объект с диска. Ссылка на общий объект все еще активна, однако его свойства data удалены.


Пример  ( Использование этого примера )

С помощью следующего кода создается (и при повторном выполнении — извлекается) объект SharedObject, идентификатор которого имеет значение hostName. Свойство username добавляется в свойство данных объекта SharedObject. Наконец вызывается метод clear(), который стирает всю информацию, добавленную в объект данных (в данном случае было только одно свойство 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

()метод 
public function close():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Закрывает подключение между удаленным общим объектом и сервером. Если удаленный общий объект имеет локальное постоянство, то после вызова данного метода пользователь сможет вносить изменения в локальную копию объекта. Любые изменения, внесенные в локальный объект, отправляются на сервер при следующем подключении пользователя к удаленному общему объекту.

connect

()метод 
public function connect(myConnection:NetConnection, params:String = null):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Подключается к удаленному общему объекту на сервере с помощью указанного объекта NetConnection. Используйте данный метод после вызова getRemote(). При успешном подключении отправляется событие sync.

Перед тем как перейти к работе с удаленным общим объектом, прежде всего проверьте его на наличие ошибок с помощью оператора try..catch..finally. Перед тем как вносить какие-либо изменения в общий объект, необходимо прослушать и обработать событие sync. Любые изменения, внесенные локально до отправки события sync, могут быть потеряны.

Чтобы подключиться к удаленному общему объекту, вызовите метод connect(), например:

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

Параметры

myConnection:NetConnection — Объект NetConnection, использующий протокол RTMP (например, объект NetConnection, применяемый для обмена данными с сервером Flash Media Server).
 
params:String (default = null) — Строка, определяющая сообщение, которое необходимо передать удаленному общему объекту на сервере. Не используется с Flash Media Server.


Выдает
Error — Проигрыватель Flash Player не смог подключиться к указанному удаленному общему объекту. Убедитесь в том, что экземпляр NetConnection действует и подключен, а также что на сервере был успешно создан удаленный общий объект.

Связанные элементы API

flush

()метод 
public function flush(minDiskSpace:int = 0):String

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Немедленно записывает постоянный локальный общий объект в локальный файл. Если вы не используете данный метод, проигрыватель Flash Player записывает общий объект в файл по окончании соответствующего сеанса: когда SWF-файл закрывается, когда общий объект попадает в мусор, так как на него больше ничто не ссылается, а также когда вы вызываете SharedObject.clear() или SharedObject.close().

Если данный метод возвращает значение SharedObjectFlushStatus.PENDING, проигрыватель Flash Player отображает диалоговое окно, предлагающее пользователю увеличить объем дискового пространства, доступный для объектов из этого домена. Чтобы открыть пространство для роста общего объекта при его сохранении в будущем, что позволит избежать возвращенных значений PENDING, передайте значение для параметра minDiskSpace. При попытке записать файл проигрыватель Flash Player не проверяет наличие достаточного места для сохранения общего объекта в его текущем размере, а выясняет число байтов, переданных minDiskSpace.

Например, если вы предполагаете, что при росте максимальный размер общего объекта составит 500 байтов (хотя в начале он будет намного меньшим), установите для minDiskSpace значение 500. Когда Flash запрашивает у пользователя возможность выделить дисковое пространство для общего объекта, объем запроса составляет 500 байт. После того как пользователь выделяет требуемый объем пространства, Flash больше не запрашивает дополнительное пространство в последующих попытках очистки объекта (его размер при этом не должен превышать 500 байт).

Данный метод вызывается снова после того, как пользователь отреагирует на диалоговое окно. Событие netStatus отправляется со свойством code, имеющим значение SharedObject.Flush.Success или SharedObject.Flush.Failed.

Параметры

minDiskSpace:int (default = 0) — Минимальный объем дискового пространства (в байтах), который должен быть выделен для данного объекта.

Возвращает
String — Одно из следующих значений:
  • SharedObjectFlushStatus.PENDING: Пользователь разрешил локальное хранение информации для объектов из этого домена, но выделенного объема пространства недостаточно для хранения объекта. Проигрыватель Flash Player предупреждает пользователя о необходимости увеличить свободное дисковое пространство. Для того чтобы обеспечить необходимое при сохранении общего объекта место, тем самым избегая возврата значения SharedObjectFlushStatus.PENDING, следует указать значение для minDiskSpace.
  • SharedObjectFlushStatus.FLUSHED: Общий объект был успешно записан как файл на локальном диске.

Выдает
Error — Проигрыватель Flash Player не может записать общий объект на диске. Эта ошибка может возникнуть, если пользователь навсегда запретил локальное хранение информации для объектов из этого домена.

Примечание. Локальное содержимое всегда может записывать на диск общие объекты из сторонних доменов (доменов, отличных от домена, указанного в данный момент в адресной строке обозревателя), даже если запись сторонних общих объектов на диск запрещена.

Связанные элементы API


Пример  ( Использование этого примера )

С помощью следующего кода создается (и при повторном выполнении — извлекается) объект SharedObject, идентификатор которого имеет значение hostName. Свойство username добавляется в свойство данных объекта SharedObject. Затем вызывается метод flush(), сопровождаемый проверкой того, был ли возврат строки pending или логического значения true или false. Необходимо помнить, что все открытые экземпляры SharedObject будут автоматически стерты при закрытии текущего экземпляра проигрывателя Flash Player.
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

()метод 
public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Возвращает ссылку на постоянный локальный общий объект, доступный только для текущего клиента. Данный метод создает общий объект, если таковой не существовал ранее. Если любые значения, переданные методу getLocal(), являются недопустимыми или вызов завершился сбоем, Flash Player создает соответствующее исключение.

В представленном коде показано, как присвоить переменной возвращенную ссылку на общий объект:

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

Примечание. Если пользователь запретил локальное хранение для данного домена, объект не будет сохраняться локально, даже если определено значение для параметра localPath. Исключением для данного правила является локальное содержимое. Локальное содержимое всегда может записывать на диск общие объекты из сторонних доменов (доменов, отличающихся от домена, указанного в данный момент в адресной строке обозревателя), даже если запись сторонних общих объектов на диск запрещена.

Чтобы избежать конфликта имен, проигрыватель Flash отслеживает место размещения SWF-файла, создающего общий объект. Например, если SWF-файл на сайте www.myCompany.com/apps/stockwatcher.swf создает общий объект portfolio, то данный общий объект не конфликтует с другим объектом portfolio, который был создан SWF-файлом на сайте www.yourCompany.com/photoshoot.swf, так как эти SWF-файлы находятся в разных каталогах.

Несмотря на то, что параметр localPath не является обязательным, ему можно найти применение, особенно в тех случаях, когда доступ к общему объекту требуется и другим SWF-файлам. Если данные в общем объекте специфичны для одного SWF-файла, который не будет перемещен в другое место, то целесообразнее использовать значение по умолчанию. Если доступ к общему объекту нужен другим SWF-файлам или если SWF-файл, создающий общий объект, будет впоследствии перемещен, то значение этого параметра определенно влияет на доступность общего объекта. Например, если вы создадите общий объект, у которого параметр localPath будет иметь значение по умолчанию (полный путь к SWF-файлу), то данный общий объект будет недоступен каким-либо другим SWF-файлам. Если вы позднее переместите исходный SWF-файл в другое место, то даже этому SWF-файлу не будут доступны данные, которые уже были сохранены в общем объекте.

Чтобы избежать непреднамеренного ограничения доступа к общему объекту, используйте параметр localpath. Наиболее демократичный подход заключается в установке localPath со значением / (косая черта). В этом случае общий объект становится доступным всем SWF-файлам в домене, но при этом увеличивается вероятность возникновения конфликтов имен с другими общими объектами в домене. При подходе ограничивающего характера в localPath добавляются имена папок, представляющих полный путь к SWF-файлу. Например, для общего объекта portfolio, созданного SWF-файлом по адресу www.myCompany.com/apps/stockwatcher.swf, можно установить параметр localPath со значением /, /apps или /apps/stockwatcher.swf. Следует определить, какой подход обеспечивает оптимальную гибкость для вашего приложения.

При использовании данного метода необходимо учесть следующую модель безопасности:

  • Доступ к общим объектам через границы изолированных программных сред запрещен.
  • Пользователи могут ограничить доступ к общим объектам с помощью диалогового окна Flash Player Settings или диспетчера настроек. По умолчанию приложение может создавать общие объекты размером до 100 килобайт данных на один домен. Администраторы и пользователи также могут устанавливать ограничения на возможность записи данных в файловой системе.

Предположим, вы публикуете содержимое SWF-файла, которое должно воспроизводиться как локальные файлы (локально установленные SWF-файлы или EXE-файлы). При этом вам необходимо, чтобы определенный общий объект был доступен для нескольких локальных SWF-файлов. В этой ситуации не забудьте, что для хранения локальных общих объектов могут использоваться два разных места. Выбор используемого домена зависит от разрешений безопасности, предоставленных локальному файлу, который создал общий объект. Локальные файлы могут иметь три разных уровня полномочий (разрешений):

  1. Предоставлен доступ только к локальной файловой системе.
  2. Предоставлен доступ только к сети.
  3. Предоставлен доступ как к сети, так и локальной файловой системе.

Локальные файлы, имеющие доступ к локальной файловой системе (уровень 1 или 3), хранят свои общие объекты в одном месте. Локальные файлы, не имеющие доступа к локальной файловой системе (2 уровень), хранят свои общие объекты в другом месте.

Можно запретить использование SWF-файлом этого метода путем установки параметра allowNetworking для тегов object и embed на странице HTML, содержащей SWF-содержимое.

Для получения дополнительной информации см. раздел центра разработчиков Flash Player Безопасность.

Параметры

name:String — Имя объекта. Имена могут содержать косые черты (/); например, work/addresses является допустимым именем. Имя общего объекта не может содержать пробелы или следующие символы:
  ~ % & \ ; : " ' , < > ? # 
  
 
localPath:String (default = null) — Полный или частичный путь к SWF-файлу, который создал общий объект (определяет, где будет сохранен общий объект локально). Если данный параметр не указан, используется полный путь.
 
secure:Boolean (default = false) — Определяет, имеют ли доступ к данному общему объекту только те SWF-файлы, которые были доставлены посредством подключения по протоколу HTTPS. Если SWF-файл доставляется по протоколу HTTPS, значение данного параметра оказывает следующее воздействие:
  • Если данный параметр имеет значение true, проигрыватель Flash Player создает новый защищенный общий объект или получает ссылку на существующий защищенный общий объект. Данный защищенный общий объект может считываться или записываться только теми SWF-файлами, доставленными по протоколу HTTPS, которые вызывают метод SharedObject.getLocal() с параметром secure, имеющим значение true.
  • Если данный параметр имеет значение false, проигрыватель Flash Player создает новый общий объект или получает ссылку на существующий общий объект, который может быть считан или записан SWF-файлами, доставленными посредством подключения по другому протоколу (не HTTPS).

Если ваш SWF-файл доставляется через подключение, не использующее протокол HTTPS, и вы пытаетесь установить для данного параметра значение true, то создание нового общего объекта (или доступ к ранее созданному защищенному общему объекту) завершится сбоем и возвратом значения null. Независимо от значения данного параметра созданные общие объекты добавляются к общему объему дискового пространства, доступного для домена.

На следующей схеме показано, как используется параметр secure:

диаграмма защищенных общих объектов

Возвращает
SharedObject — Ссылка на локальный постоянный общий объект, доступный только для текущего клиента. Если проигрыватель Flash Player не может создать или найти общий объект (например, если localPath указывает на несуществующий каталог), данный метод создает исключение.

Выдает
Error — Проигрыватель Flash Player не может создавать общие объекты без какой-либо причины. Данная ошибка может возникнуть, если запрещено создание и хранение постоянных общих объектов содержимым Flash сторонних разработчиков (это не относится к локальному содержимому). Пользователи могут запретить использование постоянных общих объектов сторонних разработчиков на панели Global Storage Settings в диспетчере настроек по адресу http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html.

getRemote

()метод 
public static function getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Возвращает ссылку на общий объект на сервере Flash Media Server, доступный нескольким клиентам. Данный метод создает удаленный общий объект, если таковой не существовал ранее.

Чтобы создать удаленный общий объект, вызовите getRemote(), а затем connect() для подключения удаленного объекта к серверу, как в следующем примере:

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

Чтобы убедиться в том, что локальная и удаленная копии общего объекта синхронизированы, следует прослушать и обработать событие sync. Все клиенты, которые хотят совместно использовать этот объект, должны передать одинаковые значения для параметров name и remotePath.

Чтобы создать общий объект, который будет доступен только текущему клиенту, используйте метод SharedObject.getLocal().

Параметры

name:String — Имя удаленного общего объекта. Имена могут содержать косую черту (/); например, work/addresses является допустимым именем. Имя общего объекта не может содержать пробелы или следующие символы:
    ~ % & \ ; :  " ' , > ? ? #
 
remotePath:String (default = null) — URI-идентификатор сервера, на котором будет храниться общий объект. Данный URI-адрес должен быть идентичен URI-адресу объекта NetConnection, переданному методу connect().
 
persistence:Object (default = false) — Указывает, какое постоянство существования имеют атрибуты свойства data общего объекта: локальное, удаленное или оба варианта. Данный параметр также указывает, где будет храниться общий объект локально. Допустимы следующие значения:
  • Значение false указывает на то, что данный общий объект не имеет постоянства на клиентском компьютере или сервере.
  • Значение true указывает на то, что общий объект постоянен только на данном сервере.
  • Наличие полного или частичного локального пути к общему объекту свидетельствует о том, что общий объект имеет постоянство на клиентском компьютере и на сервере. На клиентском компьютере он хранится по указанному пути, на сервере он хранится в подкаталоге внутри каталога приложения.

Примечание. Если пользователь запретил локальное хранение для данного домена, объект не будет сохраняться локально, даже если будет указан постоянный локальный путь. Дополнительные сведения см. в описании класса.

 
secure:Boolean (default = false) — Определяет, имеют ли доступ к данному общему объекту только те SWF-файлы, которые были доставлены посредством подключения по протоколу HTTPS. Дополнительные сведения см. в описании параметра secure в записи метода getLocal.

Возвращает
SharedObject — Ссылка на объект, который может совместно использоваться разными клиентами.

Выдает
Error — Проигрыватель Flash Player не может создать или найти общий объект. Это могло произойти, если для параметров remotePath и persistence были указаны несуществующие пути.

Связанные элементы API

send

()метод 
public function send(... arguments):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Транслирует сообщение всем клиентам, подключенным к удаленному общему объекту (включая клиента, отправляющего сообщение). Чтобы обработать и отреагировать на данное сообщение, вызовите функцию обратного вызова, прикрепленную к общему объекту.

Параметры

... arguments — Один или несколько аргументов: строка, определяющая сообщение, имя одной или нескольких функций обработчика, прикрепляемых к общему объекту, а также необязательные параметры любого типа. Имя обработчика должно быть исключительно одноуровневым (то есть форма «родительский/дочерний элемент» не используется) и связанным с общим объектом. Аргументы сериализуются и отправляются посредством подключения, при этом принимающий обработчик получает их в том же самом порядке. Если параметр представляет собой объект круглой формы (например, связанный в круглую форму список), сериализатор обрабатывает ссылки надлежащим образом.

Примечание. Не используйте в качестве имени функции какой-либо зарезервированный термин. Например, использование myRemoteSO.send("close") приведет к сбою.

setDirty

()метод 
public function setDirty(propertyName:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Указывает серверу, что значение свойства в общем объекте было изменено. Данный метод помечает свойства флагом изменения dirty.

Вызовите SharedObject.setProperty(), чтобы создать свойства общего объекта.

Метод SharedObject.setProperty() реализует setDirty(). В большинстве случаев, например, когда значение свойства представлено примитивным типом (строка или число), вместо setDirty() можно вызвать setProperty(). Однако если значением свойства является объект, содержащий свои собственные свойства, вызовите setDirty(), чтобы указать, когда значение изменяется в рамках объекта.

Параметры

propertyName:String — Имя изменившегося свойства.

Связанные элементы API

setProperty

()метод 
public function setProperty(propertyName:String, value:Object = null):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Обновляет значение свойства в общем объекте и указывает серверу, что значение свойства было изменено. Метод setProperty() явно отмечает свойства как измененные или имеющие не сохраненные данные.

Дополнительные сведения об удаленных общих объектах см. в документации Flash Media Server.

Примечание. Метод SharedObject.setProperty() реализует метод setDirty(). В большинстве случаев, например, когда значение свойства представлено примитивным типом (строка или число), вместо setDirty() можно вызвать setProperty(). Однако если значением свойства является объект, содержащий свои собственные свойства, используйте setDirty(), чтобы указать, когда значение изменяется в рамках объекта. Вообще, рекомендуется вместо setDirty() вызывать setProperty(), так как setProperty() обновляет значение свойства только при изменении этого значения, в то время как setDirty() принудительно выполняет синхронизацию на всех подписанных клиентах.

Параметры

propertyName:String — Имя свойства в общем объекте.
 
value:Object (default = null) — Значение свойства (объект ActionScript) или значение null, чтобы удалить свойство.

Связанные элементы API

Сведения о событии

asyncError

Событие
Тип объекта события: flash.events.AsyncErrorEvent
свойство AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда исключение создается асинхронным образом, то есть в коде, изначально имеющем асинхронную природу.

Константа AsyncErrorEvent.ASYNC_ERROR определяет значение свойства type объекта события asyncError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, отправляющий событие.
errorОшибка, запускаемая событием.

netStatus

Событие  
Тип объекта события: flash.events.NetStatusEvent
свойство NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда экземпляр SharedObject сообщает о своем состоянии или о случившейся ошибке. Событие netStatus содержит свойство info, представляющее собой информационный объект, в котором размещаются специфические сведения о событии: успешность попытки подключения или успешность записи общего объекта на локальный диск.

Задает значение свойства type для объекта события netStatus.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
infoОбъект со свойствами, описывающими состояние объекта или условие ошибки.
targetОбъект NetConnection или NetStream, сообщающий свое состояние.

Связанные элементы API

sync

Событие  
Тип объекта события: flash.events.SyncEvent
свойство SyncEvent.type = flash.events.SyncEvent.SYNC

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда удаленный общий объект обновляется сервером.

Задает значение свойства type для объекта события sync.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
changeListМассив со свойствами, описывающими его состояние
targetЭкземпляр SharedObject, обновленный сервером.

Связанные элементы API

SharedObjectExample.as

В следующем коде создается (и при последующих выполнениях извлекается) общий объект с идентификатором application-name. Когда пользователь нажимает кнопку «Сохранить», метод saveValue() пытается сохранить свойство savedValue в свойстве data объекта SharedObject. Если Flash Player должен запросить разрешение на сохранение данных, то в тот момент, когда пользователь дает или не дает разрешение, вызывается метод onFlushStatus(). Когда нажимается кнопка «Очистить», метод clearValue() удаляет значение, сохраненное в параметре savedValue. При последующей загрузке SWF-файла извлекается значение 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 ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.