StageWebView 类别提供简单方法,在不支援HTMLLoader 类别的装置上显示HTML 内容。除了StageWebView 类别本身的方法与属性之外,此类别不提供ActionScript 与HTML 内容之间的互动。因此,(例如) 将无法在ActionScript 与JavaScript 之间传送值或呼叫函数。
使用方法:
var myWebView:StageWebView = new StageWebView(); myWebView.stage = this .stage; myWebView.loadURL( " http://baidu.com/ " ); myWebView.viewPort = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
ActionScript与HTML内容之间的互动方法:
虽然官方说明ActionScript与HTML之间不能互动,事实上这是可以解决的. 由ActionScript呼叫Javascript: (ActionScript程序)
myWebView.loadURL( "javascript:myJSFunctionName()" );
由Javascript 呼叫ActionScript: (Javascript 程序)
document.location = JSON.stringify({document.body.scrollWidth,height:document.body.scrollHeight});
在ActionScript 处理Javascript 时的事件(ActionScript 程序)
myWebView.addEventListener( LocationChangeEvent.LOCATION_CHANGING,handleLocationChanging ); function handleLocationChanging( event:LocationChangeEvent ): void { event.preventDefault(); var data:Object = JSON.decode( event.location ); trace( "Width: " + data.width + ", Height: " + data.height ); }
官方资料:http://help.adobe.com/zh_TW/FlashPlatform/reference/actionscript/3/flash/media/StageWebView.html 参考资料: http://voisen.org/blog/2010/10/making-the -most-of-stagewebview/