[AIR] StageWebView可以和js通信
Posted 浮生若夢♬為歡幾何
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[AIR] StageWebView可以和js通信相关的知识,希望对你有一定的参考价值。
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({width: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/
以上是关于[AIR] StageWebView可以和js通信的主要内容,如果未能解决你的问题,请参考以下文章
YouTube iframe API 不再在 AIR StageWebView 或 C# WebBrowser 中播放视频
如何在Air Action Script应用程序和Node.js服务器之间进行通信
5-STM32+ESP8266+AIR202基本控制篇功能3-APP扫码绑定Air202,并通过MQTT和Air202实现远程通信控制(兼容SIM800)