| 패키지 | 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
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시