0

有谁知道如何将数据从 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";
4

2 回答 2

4

您可以使用 Actionscript -> Javascript 和 Javascript -> Actionscript 进行调用

外部接口

于 2013-07-04T04:48:42.467 回答
0

您可以尝试收听StageWebViewLocationChangeEvent.LOCATION_CHANGINGEvent.COMPLETE在 StageWebView 上(注意有 LOCATION_CHANGE 和 LOCATION_CHANGING)

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

或者

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

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

于 2013-07-23T17:20:04.017 回答