包 | flash.html |
类 | public class HTMLHost |
继承 | HTMLHost Object |
运行时版本: | AIR 1.0 |
window
对象的各个属性或调用该对象的各个方法进行控制。这些方法和属性是:
-
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 对象相关联。将 HTMLHost 实例分配给 HTMLLoader 对象的 htmlHost
属性可建立此关系。将 null
分配给 HTMLLoader 对象的 htmlHost
属性或将 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 属性或 title 元素发生更改(通过 DOM 或由于加载新页面)时调用的函数。 | 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 | 属性 |
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 对象将 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, 11:04 AM Z