패키지 | 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 객체를 최대 하나의 HTMLLoader 객체와 연결할 수 있습니다. HTMLLoader 객체의 htmlHost
속성에 HTMLHost 인스턴스를 할당하면 이 관계가 설정됩니다. HTMLLoader 객체의 htmlHost
속성에 null
을 할당하거나 HTMLHost 객체를 다른 HTMLLoader 객체의 htmlHost
속성으로 설정하면 첫 번째 HTMLLoader 객체에서 HTMLHost가 제거됩니다.
관련 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 — window.open() 에 대한 호출의 features 매개 변수로 전달된 문자열에 속성을 포함하고 있는 객체입니다.
|
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>
응용 프로그램을 테스트할 때 CustomHost 클래스는 HTML 페이지의 사용자 인터페이스 관련 JavaScript 설정을 처리합니다.
Tue Jun 12 2018, 03:17 PM Z