Пакет | flash.media |
Класс | public final class StageWebView |
Наследование | StageWebView EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Класс StageWebView обеспечивает простые средства отображения содержимого HTML на устройствах, не предоставляющих поддержку класса HTMLLoader. Класс не обеспечивает взаимодействия между ActionScript и содержимым HTML, за исключением взаимодействия через методы и свойства самого класса StageWebView. Например, не предусмотрены способы передачи значений или вызова функций между ActionScript и JavaScript.
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах и на мобильных устройствах, но не поддерживается на устройствах AIR for TV. Используйте свойство StageWebView.isSupported
, чтобы проверить наличие поддержки в среде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».
На устройствах в мобильных и расширенных мобильных профилях класс StageWebView использует системный веб-элемент управления, предоставляемый операционной системой устройства. Поэтому доступные функции и внешний вид при визуализации могут изменяться в зависимости от устройства.
На платформе Android встроенное HTML5-видео поддерживается, только если дескриптор приложения содержит <application android:hardwareAccelerated="true"/>
.
На настольных компьютерах (в профилях рабочего стола и расширенного рабочего стола) класс StageWebView использует системный веб-элемент управления, предоставленный внешним модулем Flash Player. Доступные функции и внешний вид при визуализации такие же, как в классе HTMLLoader (без тесной интеграции и соединения сценария между ActionScript и JavaScript с помощью экземпляра HTMLLoader). Так как классом HTMLLoader используется внутренний модуль AIR WebKit, настоятельно не рекомендуется одновременно использовать экземпляры StageWebView и HTMLLoader, поскольку такая операция имеет непредсказуемые последствия и может привести к завершению работы приложения.
Класс StageWebView НЕ ЯВЛЯЕТСЯ экранным объектом и не может быть добавлен в список отображения Flash. Вместо него отображается объект StageWebView путем его подключения напрямую к рабочей области с использованием свойства stage
. Экземпляр StageWebView, подключенный к рабочей области, отображается поверх любых экранных объектов Flash. Размером и расположением области визуализации можно управлять с помощью свойства viewPort
. Способ управления порядком глубины различных экранных объектов StageWebView не предусмотрен. Наложение двух экземпляров не рекомендуется.
Когда содержимое в объекте StageWebView находится в фокусе, объект StageWebView может обрабатывать ввод с клавиатуры в приоритетном порядке. Рабочая область, к которой подключен объект StageWebView, отправляет любые необработанные данные, введенные с клавиатуры. Здесь не используется стандартный цикл захвата/обработки событий по восходящей цепочке, поскольку экземпляр StageWebView не является компонентом списка отображения.
В ОС Android 3.0 и более поздних версий приложение должно включать аппаратное ускорение в элементе Android manifestAdditions дескриптора приложения AIR для отображения содержимого подключаемого модуля в объекте StageWebView.
Дополнительно
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
isHistoryBackEnabled : Boolean [только для чтения]
Показывает наличие предыдущей страницы в истории просмотра. | StageWebView | ||
isHistoryForwardEnabled : Boolean [только для чтения]
Показывает наличие следующей страницы в истории просмотра. | StageWebView | ||
isSupported : Boolean [статические] [только для чтения]
Показывает наличие поддержки класса StageWebView на текущем устройстве. | StageWebView | ||
location : String [только для чтения]
URL-адрес текущего расположения. | StageWebView | ||
mediaPlaybackRequiresUserAction : Boolean
Укажите, требуется ли пользователю выполнить жест для воспроизведения медиасодержимого. | StageWebView | ||
stage : Stage
Рабочая область, в которой отображается этот объект StageWebView. | StageWebView | ||
title : String [только для чтения]
Значение заголовка HTML. | StageWebView | ||
viewPort : Rectangle
Область в рабочей области, в которой отображается объект StageWebView. | StageWebView |
Метод | Определено | ||
---|---|---|---|
Создает объект StageWebView. | StageWebView | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Назначает фокус содержимому в этом объекте StageWebView. | StageWebView | ||
Посылает событие в поток событий. | EventDispatcher | ||
Избавляется от этого объекта StageWebView. | StageWebView | ||
Отрисовывает порт просмотра StageWebView в растровое изображение. | StageWebView | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Переход к предыдущей странице в истории просмотра. | StageWebView | ||
Переход к следующей странице в истории просмотра. | StageWebView | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Загружает и отображает указанную строку HTML. | StageWebView | ||
Загружает страницу по указанному URL-адресу. | StageWebView | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Перезагружает текущую страницу. | StageWebView | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Останавливает текущую операцию загрузки. | StageWebView | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
Сигнализирует, что последняя операция загрузки, запрошенная методом loadString() или loadURL(), завершена. | StageWebView | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Сигнализирует о возникновении ошибки. | StageWebView | |||
Отправляется, когда объект StageWebView получает фокус. | StageWebView | |||
Отправляется, когда объект StageWebView теряет фокус. | StageWebView | |||
Сигнализирует, что свойство location объекта StageWebView изменено. | StageWebView | |||
Сигнализирует, что свойство location объекта StageWebView, готово к изменению. | StageWebView |
isHistoryBackEnabled | свойство |
isHistoryForwardEnabled | свойство |
isSupported | свойство |
location | свойство |
mediaPlaybackRequiresUserAction | свойство |
mediaPlaybackRequiresUserAction:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 21.0 |
Укажите, требуется ли пользователю выполнить жест для воспроизведения медиасодержимого. Для iOS это свойство не будет учитываться, и доступ к свойству autoPlay для мультимедийных данных можно получить только через конструктор StageWebView()
. Значением по умолчанию является True.
Реализация
public function get mediaPlaybackRequiresUserAction():Boolean
public function set mediaPlaybackRequiresUserAction(value:Boolean):void
stage | свойство |
stage:Stage
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Рабочая область, в которой отображается этот объект StageWebView.
Установите для stage
значение null
, чтобы скрыть этот объект StageWebView.
Реализация
public function get stage():Stage
public function set stage(value:Stage):void
title | свойство |
viewPort | свойство |
viewPort:Rectangle
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Область в рабочей области, в которой отображается объект StageWebView.
Реализация
public function get viewPort():Rectangle
public function set viewPort(value:Rectangle):void
Выдает
RangeError — Значение Rectangle недействительно.
|
StageWebView | () | Конструктор |
public function StageWebView(useNative:Boolean = false, mediaPlaybackRequiresUserAction:Boolean = true)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Создает объект StageWebView.
Объект невидим, пока он не подключен к рабочей области и не задано значение viewPort
.
Примечание. Хотя это не запрещено, для некоторых типов содержимого могут происходить сбои, когда один процесс одновременно использует и встроенную и системную версии WebKit, поэтому рекомендуется, создавать все объекты StageWebView в данном приложении с одинаковым значением для useNative. Кроме того, поскольку HTMLLoader использует встроенную версию WebKit, приложения, использующие HTMLLoader, должны создавать объекты StageWebView только со значением false для useNative.
ПараметрыuseNative:Boolean (default = false ) — Когда useNative имеет значение false, версия WebKit, встроенная в AIR, используется в качестве источника для создаваемого StageWebView. Когда useNative имеет значение true, AIR использует системную версию WebKit по умолчанию. Мобильные платформы поддерживают только использование системной версии WebKit, поэтому useNative игнорируются на мобильных платформах.
| |
mediaPlaybackRequiresUserAction:Boolean (default = true ) — по умолчанию имеет значение True. Если mediaPlaybackRequiresUserAction имеет значение True, для воспроизведения содержимого WebView потребуется действие пользователя. Если значение равно False, содержимое WebView будет воспроизводиться автоматически.
|
assignFocus | () | метод |
public function assignFocus(direction:String = "none"):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Назначает фокус содержимому в этом объекте StageWebView.
Значения направления задаются в классе FocusDirection и включают значения: bottom, none и top.
Параметры
direction:String (default = "none ") — Указывает, что фокус должен получить первый или последний фокусируемый объект в отображаемом содержимом.
|
Связанные элементы API
dispose | () | метод |
public function dispose():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Избавляется от этого объекта StageWebView.
Вызов метода dispose()
является необязательным. Если ссылка на этот экземпляр StageWebView не сохраняется, он включается в операцию сборки мусора. С помощью вызова dispose()
сборку «мусора» можно начать раньше или в более удобное время.
drawViewPortToBitmapData | () | метод |
public function drawViewPortToBitmapData(bitmap:BitmapData):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.6 |
Отрисовывает порт просмотра StageWebView в растровое изображение.
Захватите растровое изображение и задайте null
для рабочей области для того, чтобы отобразить содержимое над объектом StageWebView.
Примечание. Поведение этого метода не гарантировано для страниц, содержащих плагины (например, встроенные PDF- или SWF-файлы).
Параметры
bitmap:BitmapData — Объект BitmapData, на котором нужно отрисовывать видимую часть порта просмотра StageWebView.
|
Выдает
ArgumentError — Ширина или высота растрового изображения от ширины или высоты порта просмотра.
| |
Error — Растровое изображение пусто.
|
Пример ( Использование этого примера )
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.*; import flash.geom.Rectangle; import flash.media.StageWebView; import flash.net.*; import flash.text.TextField; public class stagewebview1 extends Sprite { public var webView:StageWebView = new StageWebView(); public var textGoogle:TextField=new TextField(); public var textFacebook:TextField=new TextField(); public function stagewebview() { textGoogle.htmlText="<b>Google</b>"; textGoogle.x=300; textGoogle.y=-80; addChild(textGoogle); textFacebook.htmlText="<b>Facebook</b>"; textFacebook.x=0; textFacebook.y=-80; addChild(textFacebook); textGoogle.addEventListener(MouseEvent.CLICK,goGoogle); textFacebook.addEventListener(MouseEvent.CLICK,goFaceBook); webView.stage = this.stage; webView.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); } public function goGoogle(e:Event):void { webView.loadURL("http://www.google.com"); webView.stage = null; webView.addEventListener(Event.COMPLETE,handleLoad); } public function goFaceBook(e:Event):void { webView.loadURL("http://www.facebook.com"); webView.stage = null; webView.addEventListener(Event.COMPLETE,handleLoad); } public function handleLoad(e:Event):void { var bitmapData:BitmapData = new BitmapData(webView.viewPort.width, webView.viewPort.height); webView.drawViewPortToBitmapData(bitmapData); var webViewBitmap:Bitmap=new Bitmap(bitmapData); addChild(webViewBitmap); } } }
historyBack | () | метод |
public function historyBack():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Переход к предыдущей странице в истории просмотра.
historyForward | () | метод |
public function historyForward():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Переход к следующей странице в истории просмотра.
loadString | () | метод |
public function loadString(text:String, mimeType:String = "text/html"):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Загружает и отображает указанную строку HTML.
При использовании метода loadString()
для свойства location
возвращается значение about:blank. Только стандартные схемы URI могут использоваться в URL-адресах в строке HTML. Схемы URI среды AIR, такие как app: и app-storage:, не разрешены.
Содержимое HTML не может загружать локальные ресурсы, например файлы изображений. Запросы XMLHttpRequest не разрешены.
Поддерживаются только MIME-типы text/html и application/xhtml+xml.
Параметры
text:String — строка содержимого HTML или XHTML для отображения.
| |
mimeType:String (default = "text/html ") — Тип MIME содержимого: text/html или application/xhtml+xml.
|
Пример ( Использование этого примера )
loadString()
.
var webView:StageWebView = new StageWebView(); webView.stage = this.stage; webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight ); var htmlString:String = "<!DOCTYPE HTML>" + "<html>" + "<body>" + "<h1>Example</h1>" + "<p>King Phillip cut open five green snakes.</p>" + "</body>" + "</html>"; webView.loadString( htmlString, "text/html" );
loadURL | () | метод |
public function loadURL(url:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Загружает страницу по указанному URL-адресу.
Для URL-адреса могут использоваться следующие схемы URI: http:, https:, file:, data: и javascript:. Содержимое, загруженное с использованием схемы file:, поддерживает загрузку других локальных ресурсов.
Параметры
url:String |
Пример ( Использование этого примера )
loadURL()
.
Примечание. На платформе Android необходимо указать права доступа INTERNET в дескрипторе программы AIR для загрузки удаленных URL-адресов.
var webView:StageWebView = new StageWebView(); webView.stage = this.stage; webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight ); webView.loadURL( "http://www.example.com" );
reload | () | метод |
public function reload():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Перезагружает текущую страницу.
stop | () | метод |
public function stop():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Останавливает текущую операцию загрузки.
complete | Событие |
flash.events.Event
свойство Event.type =
flash.events.Event.COMPLETE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Сигнализирует, что последняя операция загрузки, запрошенная методом loadString()
или loadURL()
, завершена.
Event.COMPLETE
определяет значение свойства type
объекта complete
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, который завершил загрузку. |
error | Событие |
flash.events.ErrorEvent
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Сигнализирует о возникновении ошибки.
focusIn | Событие |
flash.events.FocusEvent
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Отправляется, когда объект StageWebView получает фокус.
focusOut | Событие |
flash.events.FocusEvent
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Отправляется, когда объект StageWebView теряет фокус.
locationChange | Событие |
flash.events.LocationChangeEvent
свойство LocationChangeEvent.type =
flash.events.LocationChangeEvent.LOCATION_CHANGE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Сигнализирует, что свойство location
объекта StageWebView изменено.
Отмена события невозможна.
Отправляется после каждого изменения расположения. locationChanging | Событие |
flash.events.LocationChangeEvent
свойство LocationChangeEvent.type =
flash.events.LocationChangeEvent.LOCATION_CHANGING
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Сигнализирует, что свойство location
объекта StageWebView, готово к изменению.
Событие locationChanging отправляется, только если изменение расположения инициировано с помощью содержимого HTML или кода, выполняющегося в объекте StageWebView, например, когда пользователь переходит по ссылке. По умолчанию новое расположение выводится на экран в этом объекте StageWebView. Можно вызвать метод preventDefault()
объекта события для отмены поведения по умолчанию. Например, можно использовать функцию flash.net.navigateToURL()
для открытия страницы в системном браузере на основе свойства location
объекта события
Событие locationChanging не отправляется при изменении расположения с помощью следующих методов:
historyBack()
historyForward()
loadString()
loadURL()
reload()
LOCATION_CHANGING
определяет значение объекта LocationChangeEvent
свойства текста, отправляемого перед изменением положения страницы.
loadURL()
и используются программные клавиши Back (Назад) и Search (Поиск) для навигации в истории.
package { import flash.display.MovieClip; import flash.media.StageWebView; import flash.geom.Rectangle; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.desktop.NativeApplication; public class StageWebViewExample extends MovieClip{ private var webView:StageWebView = new StageWebView(); public function StageWebViewExample() { webView.stage = this.stage; webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight ); webView.loadURL( "http://www.example.com" ); stage.addEventListener( KeyboardEvent.KEY_DOWN, onKey ); } private function onKey( event:KeyboardEvent ):void { if( event.keyCode == Keyboard.BACK && webView.isHistoryBackEnabled ) { trace("Back."); webView.historyBack(); event.preventDefault(); } if( event.keyCode == Keyboard.SEARCH && webView.isHistoryForwardEnabled ) { trace("Forward."); webView.historyForward(); } } } }
Tue Jun 12 2018, 11:34 AM Z