[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服务器之间进行通信

Adobe AIR 无法在 iOS 上加载 PDF

5-STM32+ESP8266+AIR202基本控制篇功能3-APP扫码绑定Air202,并通过MQTT和Air202实现远程通信控制(兼容SIM800)

Flex 移动应用 StageWebView 打印

Google Maps API v.3.31更新会破坏StageWebView和StageWebViewBridge