关键词

Flex Javascript交互实现代码

下面是关于Flex和JavaScript交互实现的完整攻略。

什么是Flex和JavaScript交互?

在Flex应用程序中,我们可以通过JavaScript与应用程序进行交互,实现数据的传输和处理。这种交互包含两个步骤,第一步是Flex从JavaScript中获取数据或调用函数,第二步是JavaScript从Flex中获取数据或调用函数。

在Flex中获取JavaScript的数据或调用函数

要在Flex中获取JavaScript的数据或调用函数,可以使用ExternalInterface类。这个类提供了两个方法:

  • addCallback(functionName:String, closure:Function):void:将一个Flex函数暴露给JavaScript调用。
  • call(functionName:String, ... arguments):*:在JavaScript中调用已暴露的Flex函数。

这里有一个简单的示例,展示了如何在Flex和JavaScript之间传递信息。

ExternalInterface.addCallback("getDataFromJS", getData);

private function getData():String {
  return ExternalInterface.call("getData");
}

在上述代码中,我们首先使用addCallback方法将getData函数暴露给JavaScript。然后,我们在getData函数中调用了一个ExternalInterface.call方法,这个方法会调用JavaScript中的一个名为getData的函数。ExternalInterface.call的第一个参数是将被调用的JavaScript函数名,后面跟着该函数需要的参数。

在JavaScript中获取Flex的数据或调用函数

要在JavaScript中获取Flex的数据或调用函数,可以使用ExternalInterface对象。同样,提供了两个方法:

  • addCallback(methodName, closure):将一个JavaScript函数暴露给Flex调用。
  • call(methodName, ... arguments):在Flex中调用已暴露的JavaScript函数。

这里有一个例子,它显示了如何在JavaScript和Flex之间传递数据。

function sendData(data) {
  document.getElementById("flashObject").setDataFromJS(data);
}

在上面的代码中,我们定义了一个名为sendData的JavaScript函数。该函数将setDataFromJS方法调用返回到Flex中的flashObject,并传递了一个参数。

我们也可以在Flex应用程序中捕获JavaScript事件,例如window.onloadwindow.onbeforeunload事件。这里有一个简单的示例,展示了如何在Flex中捕获window.onload事件。

ExternalInterface.addCallback("load", onReady);

private function onReady():void {
  trace("JavaScript加载完毕");
}

与前面的示例类似,我们使用addCallback方法将onReady函数暴露给JavaScript。在JavaScript中,我们可以使用以下代码来触发这个函数。

window.onload = function() {
  flashObject.load();
}

在上面的代码中,我们将onload事件绑定到window对象上,当文档加载完毕时,会触发这个事件。在事件处理程序中,我们调用了Flash对象上暴露的load方法,来触发在Flex中定义的onReady函数。

结论

通过Flex和JavaScript交互,我们可以在应用程序中实现更高级的用户交互体验,例如实时数据更新和表单验证。同时,这样的交互需要谨慎实现,比如安全方面的考虑,因为在JavaScript中执行的代码有可能会受到注入攻击,所以我们必须谨防此类问题的出现。

本文链接:http://task.lmcjl.com/news/11998.html

展开阅读全文