Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash StageWebViewBridge加载并与联机页面通信_Flash_Actionscript 3_Air - Fatal编程技术网

Flash StageWebViewBridge加载并与联机页面通信

Flash StageWebViewBridge加载并与联机页面通信,flash,actionscript-3,air,Flash,Actionscript 3,Air,是否有人成功地使用StageWebViewBridge加载在线网页并与之通信 提供的文档和示例都是围绕使用本地文件进行配置的(这些文件可以成功地工作),尽管在加载的html页面中“包含StageWebViewBridge.js”文件的说明听起来非常直截了当,但遗憾的是,它似乎不起作用 对于任何想要复制我的测试的人,我已将文件上载到此处: 我基本上是从web服务器加载“exampleCallbackbons.html”文件。 我已经包括了StageWebViewBridge.js文件,就像这样

是否有人成功地使用StageWebViewBridge加载在线网页并与之通信

提供的文档和示例都是围绕使用本地文件进行配置的(这些文件可以成功地工作),尽管在加载的html页面中“包含StageWebViewBridge.js”文件的说明听起来非常直截了当,但遗憾的是,它似乎不起作用

对于任何想要复制我的测试的人,我已将文件上载到此处:

我基本上是从web服务器加载“exampleCallbackbons.html”文件。 我已经包括了StageWebViewBridge.js文件,就像这样

<script type="text/javascript" src="StageWebViewBridge.js"></script>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>example</title>
<script type="text/javascript" src="StageWebViewBridge.js"></script>
...
此时html页面将显示在视口中。但按下按钮时,应向Actionscript发送消息,我收到以下错误消息:

TypeError:错误#1009:无法访问空对象引用的属性或方法。 位于es.xperiments.media::StageWebViewBridgeExternal/parseCallBack()[/Users/G5TowerIntel/Desktop/maptest/es/xperiments/media/StageWebViewBridgeExternal.as:88] 在es.xperiments.media::StageWebViewBridge/onLocationChange()[/Users/G5TowerIntel/Desktop/maptest/es/xperiments/media/StageWebViewBridge.as:236]

我的目标是从html页面向ActionScript发送一条消息

谢谢


标记

您在代码中做了一些错误的事情

在as3和js以及viceversa之间进行任何通信之前,您必须先收听DEVICER_READY事件

// listen StageWebViewBridgeEvent.DEVICE_READY event to be sure 
// the communication is ok
view.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady );

// add a callback method for the function we like to call from Javascript
view.addCallback('fnCalledFromJS', fnCalledFromJS );

// load the localfile demo.html ( inside the www dir )
view.loadLocalURL('http://www.someserver.com/ExampleBasic.html');
您可以以我的示例Basic为例,使用以下命令更改行:

view.loadLocalURL('applink:/ExampleBasic.html')

view.loadURL('http://localhost/ExampleBasic.html');

然后在服务器html文件中,添加引用.js文件的行

它一定有用


说我…

成功!这是我用过的AS3

public var webView1:StageWebViewBridge;

public function Main() {            
StageWebViewDisk.addEventListener(StageWebviewDiskEvent.END_DISK_PARSING, onInit );
StageWebViewDisk.setDebugMode( true );
StageWebViewDisk.initialize(stage);
}

function onInit( e:StageWebviewDiskEvent ):void {
trace("onInit");
webView1 = new StageWebViewBridge(60, 60, 400, 262);
webView1.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady );
webView1.loadURL("http://www.domain.com/ExampleCallBackFuncions.html");
}

function onDeviceReady( e:StageWebViewBridgeEvent ):void {
trace("onDeviceReady"); 
webView1.addCallback('fnCalledFromJS', fnCalledFromJS );
addChild(webView1);

}
示例callbackbuncens.html文件被修改为包含StageWebViewBridge.js文件,如下所示

<script type="text/javascript" src="StageWebViewBridge.js"></script>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>example</title>
<script type="text/javascript" src="StageWebViewBridge.js"></script>
...

例子
...