| パッケージ | flash.media |
| クラス | public final class StageWebView |
| 継承 | StageWebView EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 2.5 |
StageWebView クラスを使用すると、HTMLLoader クラスがサポートされていないデバイスでも簡単に HTML コンテンツを表示できます。このクラスでは、StageWebView クラス自体のメソッドとプロパティを除いて、ActionScript と HTML コンテンツの間にやり取りはありません。例えば、ActionScript と JavaScipt の間で値を渡したり、関数を呼び出したりする方法はありません。
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムおよびモバイルデバイスでサポートされますが、AIR for TV デバイスではサポートされません。StageWebView.isSupported プロパティを使用すると、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。
デバイスのモバイルプロファイルおよび拡張モバイルプロファイルでは、StageWebView はデバイスのオペレーティングシステムに用意されているシステム Web コントロールを使用します。したがって、使用できる機能とレンダリングされる外観はデバイスによって異なる可能性があります。
Android では、インライン HTML5 ビデオは <application android:hardwareAccelerated="true"/> がアプリケーション記述子に含まれている場合にのみサポートされます。
デスクトップコンピューター(デスクトップおよび拡張デスクトッププロファイル)では、StageWebView は Flash Player プラグインで用意されているシステム Web コントロールを使用します。使用できる機能とレンダリングされる外観は、HTMLLoader クラスの機能および外観と同じです(HTMLLoader インスタンスが提供する ActionScript および JavaScipt の間で密接な統合およびスクリプトブリッジがない場合)。HTMLLoader クラスは、内部の AIR WebKit エンジンを使用するので、StageWebView および HTMLLoader インスタンスの同時使用は極力行わないでください。これは定義されていない動作で、アプリケーションを終了させる可能性があります。
StageWebView クラスは表示オブジェクトではないため、Flash 表示リストに追加できません。代わりに stage プロパティを使用してステージに直接アタッチすることで、StageWebView オブジェクトを表示します。ステージにアタッチされている StageWebView インスタンスは、Flash 表示オブジェクトの上に表示されます。viewPort プロパティで、レンダリング領域のサイズと位置を制御します。複数の StageWebView オブジェクトの深度の順序を制御する方法はありません。重複する 2 つのインスタンスは推奨されません。
StageWebView オブジェクト内のコンテンツにフォーカスがない場合、キーボードの入力を処理する最初の機会は StageWebView オブジェクトにあります。StageWebView オブジェクトをアタッチするステージは、処理されないキーボード入力を送出します。StageWebView インスタンスは表示リストの一部ではないため、通常のイベントキャプチャ/バブルサイクルはこの場合に適用されません。
Android 3.0 以降では、AIR アプリケーション識別子の Android manifestAdditions 要素内でハードウェアアクセラレーションを有効にして、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 | |||
| StageWebView オブジェクトの location プロパティが変更されたことを通知します。 | StageWebView | |||
| StageWebView オブジェクトの location プロパティが変更されることを通知します。 | StageWebView | |||
isHistoryBackEnabled | プロパティ |
isHistoryForwardEnabled | プロパティ |
isSupported | プロパティ |
location | プロパティ |
mediaPlaybackRequiresUserAction | プロパティ |
mediaPlaybackRequiresUserAction:Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 21.0 |
メディアコンテンツを再生するためにユーザーがジェスチャーを実行する必要があるかどうかを設定します。iOS の場合、このプロパティは無視されます。そのため、メディアを自動再生するには、StageWebView() コンストラクターを使用する必要があります。デフォルト値は True です。
実装
public function get mediaPlaybackRequiresUserAction():Boolean public function set mediaPlaybackRequiresUserAction(value:Boolean):void stage | プロパティ |
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 とシステム WebKit の両方を同じプロセスで使用すると、エラーが発生する場合があります。このため、指定のアプリケーションですべての Stage ebViews を useNative の同じ値を使用して構築することをお薦めします。また、HTMLLoader は埋め込み WebKit に依存するので、HTMLLoader を使用するアプリケーションは、useNative を false に設定して StageWebViews のみを構築する必要があります。
パラメーターuseNative:Boolean (default = false) — useNative が false の場合、AIR に埋め込まれた WebKit のバージョンが、作成される StageWebView のソースとして使用されます。useNative が true の場合、AIR はシステムのデフォルトの Web エンジンを使用します。モバイルプラットフォームはシステムの Web エンジンの使用のみをサポートするので、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 オブジェクト内のコンテンツにフォーカスを割り当てます。
Direction 値は 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 のビューポートをビットマップに描画します。
StageWebView オブジェクトの上にコンテンツを表示するためにビットマップをキャプチャしてステージを null に設定します。
注意:このメソッドの動作は、プラグインコンテンツ(埋め込まれた PDF や SWF ファイルなど)を含むページでは保証されません。
パラメーター
bitmap:BitmapData — StageWebView のビューポートの可視部分を描画する対象の BitmapData オブジェクト。
|
例外
ArgumentError — ビットマップの幅または高さは、ビューポートの幅または高さとは異なります。
| |
Error — ビットマップが null です。
|
例 ( この例の使用方法 )
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 | () | メソッド |
historyForward | () | メソッド |
loadString | () | メソッド |
public function loadString(text:String, mimeType:String = "text/html"):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 2.5 |
指定した HTML 文字列を読み込み、表示します。
loadString() メソッドを使用すると、location は "about:blank" とレポートされます。HTML 文字列内の URL には、標準の URI スキームのみを使用できます。AIR URI スキームの "app:" と "app-storage:" は使用できません。
HTML コンテンツに、画像ファイルなどのローカルリソースを読み込むことはできません。XMLHttpRequests は使用できません。
"text/html" および "application/xhtml+xml" MIME タイプのみがサポートされます。
パラメーター
text:String — 表示する HTML または XHTML コンテンツの文字列。
| |
mimeType:String (default = "text/html") — コンテンツの MIME タイプ("text/html" または "application/xhtml+xml")。
|
例 ( この例の使用方法 )
loadString() メソッドを使用して HTML ページをロードします。
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 に使用できる URL スキームは、http:、https:、file:、data: および javascript: です。file: スキームで読み込まれるコンテンツは、他のローカルリソースを読み込むことができます。
パラメーター
url:String |
例 ( この例の使用方法 )
loadURL() メソッドを使用して Web サイトをロードします。
注意:Android では、リモート URL をロードするために、AIR アプリケーション記述子で INTERNET 権限を指定する必要があります。
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 | () | メソッド |
stop | () | メソッド |
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 | イベント |
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 |
StageWebView オブジェクトの location プロパティが変更されたことを通知します。
イベントはキャンセルできません。
位置が変更されるたびに、変更後に送出されます。 locationChanging | イベント |
flash.events.LocationChangeEventプロパティ LocationChangeEvent.type =
flash.events.LocationChangeEvent.LOCATION_CHANGING| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 2.5 |
StageWebView オブジェクトの location プロパティが変更されることを通知します。
locationChanging イベントが送出されるのは、HTML コンテンツ、またはユーザーがリンクをクリックしたときなどに StageWebView オブジェクト内で実行されるコードから、位置の変更が開始されるときのみです。デフォルトで、新しい場所はこの StageWebView オブジェクトに表示されます。デフォルトの動作をキャンセルするには、イベントオブジェクトの preventDefault() メソッドを呼び出します。例えば、イベントオブジェクトの location プロパティに基づいて、システムブラウザーのページを開くには、flash.net.navigateToURL() 関数を使用します
次のメソッドで位置を変更した場合、locationChanging イベントは送出されません。
historyBack()historyForward()loadString()loadURL()reload()
LOCATION_CHANGING 定数は、ページ位置の変更前に送出された LocationChangeEvent オブジェクトの type プロパティの値を定義します。
loadURL() メソッドを使用して Web サイトをロードし、履歴の移動に、デバイスの「戻る」および「検索」ソフトキーを使用します。
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, 10:34 AM Z
継承されるパブリックプロパティを隠す
継承されるパブリックプロパティを表示