パッケージ | flash.html |
クラス | public class HTMLHost |
継承 | HTMLHost Object |
ランタイムバージョン: | AIR 1.0 |
window
オブジェクトで各種プロパティの設定または各種メソッドの呼び出しを行うことにより制御可能なユーザーインターフェイスエレメントに対する HTMLLoader オブジェクトの動作を制御します。そのメソッドとプロパティは次のとおりです。
-
window.blur()
-
window.focus()
-
window.moveBy()
-
window.moveTo()
-
window.location
-
window.close()
-
window.open()
-
window.resizeBy()
-
window.resizeTo()
-
window.status
-
window.document.title
HTMLHost クラスのメソッドを使用して、window
の各設定を変更することができます。このクラスを使用するには、HTMLHost クラスを継承して動作を定義するメソッドをオーバーライドする新しいクラス(サブクラス)を作成します。HTMLHost クラスのメソッドは、JavaScript のプロパティおよびメソッドを次のように処理します。
JavaScript のプロパティまたはメソッド | HTMLHost メソッド |
---|---|
window.blur()
|
windowBlur()
|
window.focus()
|
windowFocus
|
window.location
|
updateLocation
|
window.close()
|
windowClose
|
window.open()
|
createWindow
|
window.status
|
updateStatus
|
window.document.title
|
updateTitle
|
window.moveBy()
、window.moveTo()
、window.resizeBy()
および window.resizeTo()
の各メソッドの変更に応答するには、HTMLHost のサブクラスで set windowRect()
メソッドをオーバーライドします。
各 HTMLHost オブジェクトに関連付けることができるのは、1 つの HTMLLoader オブジェクトまでです。この関連付けは、HTMLHost インスタンスを HTMLLoader オブジェクトの htmlHost
プロパティに割り当てることにより確立されます。null
を HTMLLoader オブジェクトの htmlHost
プロパティに割り当てるまたは HTMLHost オブジェクトを別の HTMLLoader オブジェクトの htmlHost
プロパティとして設定すると、HTMLHost は最初の HTMLLoader オブジェクトから削除されます。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
htmlLoader : flash.html:HTMLLoader [読み取り専用]
この HostControl オブジェクトが適用される HTMLLoader オブジェクトです。 | HTMLHost | ||
windowRect : Rectangle
HTMLLoader オブジェクト内の JavaScript コードが、window.moveBy()、window.moveTo()、window.resizeBy() または window.resizeTo() の各メソッドの呼び出しを行うときに変更されるプロパティです。 | HTMLHost |
メソッド | 定義元 | ||
---|---|---|---|
HTMLHost オブジェクトを作成します。 | HTMLHost | ||
HTMLLoader オブジェクト内の JavaScript コードが window.open() メソッドを呼び出すときに、呼び出される関数です。 | HTMLHost | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
HTMLLoader オブジェクト内の JavaScript コードが window.location プロパティを設定するときに、呼び出される関数です。 | HTMLHost | ||
HTMLLoader オブジェクト内の JavaScript コードが window.status プロパティを設定するときに、呼び出される関数です。 | HTMLHost | ||
HTMLLoader オブジェクト内の JavaScript コードが window.document.title プロパティを設定するとき、または DOM か新しいページのロードにより title エレメントが変更されるときに、呼び出される関数です。 | HTMLHost | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
HTMLLoader オブジェクト内の JavaScript コードが window.blur() メソッドを呼び出すときに、呼び出される関数です。 | HTMLHost | ||
HTMLLoader オブジェクト内の JavaScript コードが window.close() メソッドを呼び出すときに、呼び出される関数です。 | HTMLHost | ||
HTMLLoader オブジェクト内の JavaScript コードが window.focus() メソッドを呼び出すときに、呼び出される関数です。 | HTMLHost |
htmlLoader | プロパティ |
htmlLoader:flash.html:HTMLLoader
[読み取り専用] ランタイムバージョン: | AIR 1.0 |
この HostControl オブジェクトが適用される HTMLLoader オブジェクトです。その HTMLLoader オブジェクトの htmlHost
プロパティは、この HostControl オブジェクトに設定されます。
実装
public function get htmlLoader():flash.html:HTMLLoader
関連する API エレメント
windowRect | プロパティ |
windowRect:Rectangle
ランタイムバージョン: | AIR 1.0 |
HTMLLoader オブジェクト内の JavaScript コードが、window.moveBy()
、window.moveTo()
、window.resizeBy()
または window.resizeTo()
の各メソッドの呼び出しを行うときに変更されるプロパティです。
HTMLHost のサブクラスで set windowRect()
メソッドをオーバーライドし、必要に応じて新しいウィンドウの境界を処理します。
実装
public function get windowRect():Rectangle
public function set windowRect(value:Rectangle):void
HTMLHost | () | コンストラクター |
createWindow | () | メソッド |
public function createWindow(windowCreateOptions:flash.html:HTMLWindowCreateOptions):flash.html:HTMLLoader
ランタイムバージョン: | AIR 1.0 |
HTMLLoader オブジェクト内の JavaScript コードが window.open()
メソッドを呼び出すときに、呼び出される関数です。
デフォルトでは、HTMLLoader の HTML ページ内の window.open()
の JavaScript 呼び出しでは、実行時に新しい NativeWindow オブジェクトは開きません。実行時に、HTMLHost クラスのサブクラスでオーバーライドする createWindow
メソッド内で NativeWindow オブジェクトを作成して、新しい NativeWindow オブジェクトを開くことができます。
パラメーター
windowCreateOptions:flash.html:HTMLWindowCreateOptions — features パラメーター(window.open() の呼び出しに使用されるパラメーター)として渡されるストリング内のプロパティを含むオブジェクトです。
|
flash.html:HTMLLoader — 新しい HTML ページを格納する HTMLLoader オブジェクトです。通常、このメソッドにより新しい HTMLLoader オブジェクトを作成し、新しい NativeWindow オブジェクトのステージに追加した後、返します。
|
updateLocation | () | メソッド |
updateStatus | () | メソッド |
updateTitle | () | メソッド |
windowBlur | () | メソッド |
public function windowBlur():void
ランタイムバージョン: | AIR 1.0 |
HTMLLoader オブジェクト内の JavaScript コードが window.blur()
メソッドを呼び出すときに、呼び出される関数です。
windowClose | () | メソッド |
public function windowClose():void
ランタイムバージョン: | AIR 1.0 |
HTMLLoader オブジェクト内の JavaScript コードが window.close()
メソッドを呼び出すときに、呼び出される関数です。
デフォルトでは、HTMLLoader オブジェクトの HTML ページ内の window.close()
の JavaScript 呼び出しを実行すると、HTMLLoader オブジェクトが格納されているウィンドウが閉じます。
windowFocus | () | メソッド |
public function windowFocus():void
ランタイムバージョン: | AIR 1.0 |
HTMLLoader オブジェクト内の JavaScript コードが window.focus()
メソッドを呼び出すときに、呼び出される関数です。
window
オブジェクトの各種メソッドを呼び出すときに実行するアクションを定義します。
package { import flash.html.HTMLHost; import flash.html.HTMLLoader; import flash.display.NativeWindow; import flash.display.NativeWindowInitOptions; import flash.display.StageScaleMode; import flash.geom.Rectangle; import flash.text.TextField; public class CustomHost extends HTMLHost { import flash.html.*; public var statusField:TextField; public function CustomHost(defaultBehaviors:Boolean=true) { super(defaultBehaviors); } override public function windowClose():void { htmlLoader.stage.window.close(); } override public function createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader { var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions(); var window:NativeWindow = new NativeWindow(initOptions); window.visible = true; var htmlLoader2:HTMLLoader = new HTMLLoader(); htmlLoader2.width = window.width; htmlLoader2.height = window.height; window.stage.scaleMode = StageScaleMode.NO_SCALE; window.stage.addChild(htmlLoader2); return htmlLoader2; } override public function updateLocation(locationURL:String):void { trace(locationURL); } override public function set windowRect(value:Rectangle):void { htmlLoader.stage.nativeWindow.bounds = value; } override public function updateStatus(status:String):void { statusField.text = status; } override public function updateTitle(title:String):void { htmlLoader.stage.nativeWindow.title = title + "- Example Application"; } override public function windowBlur():void { htmlLoader.alpha = 0.5; } override public function windowFocus():void { htmlLoader.alpha = 1; } } }
statusBar
という名前の TextField オブジェクトだけでなく、HTMLLoader オブジェクトもステージに追加します。 HTMLLoader オブジェクトは、CustomHost オブジェクトを自身の htmlHost
プロパティとして定義します。
package { import flash.display.Sprite; public class SimpleHTMLBox extends Sprite { import flash.html.HTMLHost; import flash.html.HTMLLoader; import flash.text.TextField; import flash.net.URLRequest; import CustomHost; private var host:CustomHost; private var statusField:TextField; private var html:HTMLLoader; public function SimpleHTMLBox() { html = new HTMLLoader(); var url:String = "Test.html"; var urlReq:URLRequest = new URLRequest(url); html.load(urlReq); host = new CustomHost(); html.htmlHost = host; statusField = new TextField(); host.statusField = statusField; configureUI(); } private function configureUI():void { html.width = 400; html.height = 200; statusField.width = 400; statusField.height = 24; statusField.border = true; statusField.y = 200; addChild(html); addChild(statusField); } } }
このクラスで定義されるオブジェクトをメインウィンドウのステージに追加する AIR アプリケーションを構築します。
アプリケーションリソースディレクトリ (アプリケーション記述ファイルが格納されているディレクトリ) に Test.html という名前の HTML ページを作成し、次のコンテンツを追加します。
<html> <head> <title>Test</title> </head> <body> <a href="#" onclick="window.open('Test.html')">window.open('Test.html')</a> <br/><a href="#" onclick="window.document.location = 'www.adobe.com'">window.document.location = 'www.adobe.com'</a> <br/><a href="#" onclick="window.moveBy(6, 12)">moveBy(6, 12)</a> <br/><a href="#" onclick="window.close()">window.close()</a> <br/><a href="#" onclick="window.blur()">window.blur()</a> <br/><a href="#" onclick="window.focus()">window.focus()</a> <br/><a href="#" onclick="window.status = new Date().toString()">window.status = new Date().toString()</a> </body> </html>
アプリケーションのテストが実行されると、HTML ページ内にあるユーザーインターフェイス関連の JavaScript 設定は、CustomHost クラスによって処理されます。
Tue Jun 12 2018, 10:34 AM Z