我的 AIR 应用程序中有一个 webkit HTML 组件,并且希望能够响应从 webkit 组件中的 HTML 生成的 onclick 和 ondoubleclick 等事件。有没有办法做到这一点?
问问题
440 次
1 回答
1
有,虽然我花了一点时间才找到它。
这应该是一个很好的起点:http ://livedocs.adobe.com/flex/3/html/help.html?content=ProgrammingHTMLAndJavaScript_04.html
这是关键代码:
var html:HTMLLoader = new HTMLLoader();
var foo:String = "Hello from container SWF."
function helloFromJS(message:String):void {
trace("JavaScript says:", message);
}
var urlReq:URLRequest = new URLRequest("test.html");
html.addEventListener(Event.COMPLETE, loaded);
html.load(urlReq);
function loaded(e:Event):void{
html.window.foo = foo;
html.window.helloFromJS = helloFromJS;
}
在上一个示例中加载到 HTMLLoader 对象中的 HTML 内容(在名为 test.html 的文件中)可以访问父 SWF 文件中定义的 foo 属性和 helloFromJS() 方法:
<html>
<script>
function alertFoo() {
alert(foo);
}
</script>
<body>
<button onClick="alertFoo()">
What is foo?
</button>
<p><button onClick="helloFromJS('Hi.')">
Call helloFromJS() function.
</button></p>
</body>
</html>
于 2009-04-08T04:36:48.013 回答