有没有人知道如何将数据从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";
答案 0 :(得分:4)
您可以拨打电话,例如Actionscript - > Javascript和Javascript - >使用
的Actionscript答案 1 :(得分:0)
您可以尝试在StageWebView上监听LocationChangeEvent.LOCATION_CHANGING
或Event.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位置。