将数据从javascript传递到actionscript

时间:2013-07-04 04:43:53

标签: javascript flex actionscript flex-mobile

有没有人知道如何将数据从javascript传递给flex中的actionscript?我在flex中尝试了涉及LocationChangeEvent侦听器的方法,但是我无法获取更改的URL。我正在开发Flex Mobile项目。请帮忙。

[编辑] 我正在开发一个移动项目,我正在尝试使用javascript加载html。我将StageWebView的大小设置为零,因为我不需要Web界面,我只需要加载javascript。从那里,我试图通过修改javascript中的document.location将数据发送到我的flex应用程序,如下所示:

document.location = "mydata";

然后,我的flex应用程序正在侦听此事件LocationChangeEvent,如果StageWebView中发生了URL更改,它将被触发。出于某种原因,我没有触发。

[解决] LocationChangeEvent实际上是在我的情况下工作,但我确实在javascript中改变了一些东西。

我更改了以下内容

document.location = "mydata";

window.location = "mydata";

2 个答案:

答案 0 :(得分:4)

您可以拨打电话,例如Actionscript - > Javascript和Javascript - >使用

的Actionscript

ExternalInterface

答案 1 :(得分:0)

您可以尝试在StageWebView上监听LocationChangeEvent.LOCATION_CHANGINGEvent.COMPLETE(请注意,有LOCATION_CHANGE和LOCATION_CHANGING)

var myStageWebView:StageWebView = new StageWebView();
myStageWebView.addEventListener(LocationChangeEvent.LOCATION_CHANGING, handler);
myStageWebView.addEventListener(Event.COMPLETE, onComplete);

在您的更改/更改/完成处理程序中,跟踪event.target以查看html。也许你可以在加载时简单地将你的javascript重定向网址添加到html正文中。

将StageWebViews用于移动设备上的数据可能有点费解。或者,如果您可以访问服务器代码,则可以尝试使用URLLoader进行POST以从服务器获取正确的重定向URL(从而绕过对javascript的需求)。在URLLoader的完整处理程序中,从event.currentTarget.data访问返回的数据并将其传递到StageWebView位置。