在不使用浏览器控件的情况下在Adobe Flex中执行JavaScript

时间:2012-01-03 12:26:52

标签: javascript flex adobe

我想在我的Adobe Flex应用程序中添加脚本功能。我知道可以使用Browser控件,并将打包为HTML文件的脚本添加到Browser控件,并公开Flex对象。但是我想如果可以在不使用Browser控件的情况下执行JavaScript。

更新:我想我的问题还不够明确。我会解释我想要做的事情。

我想使用JavaScript自定义我的应用程序,即动态地为我的应用程序添加脚本/插件。 我意识到可以通过将JS代码插入HTMLLoader控件来动态执行Javascript。我想知道有一种直接的方法来执行JavaScript而不将其插入到HTMLLoader控件中。

2 个答案:

答案 0 :(得分:0)

如果您在Web应用程序中,则以下内容应该可以正常工作

var retval:int = ExternalInterface.call("myfunction", "arg1","arg2");

您也可以使用URLRequest来完成此操作

var req:URLRequest = new URLRequest("javascript:myfunction()");
navigateToURL(req,'_self');

如果您在AIR应用程序中,这样的事情应该起作用

var html:HTMLLoader = new HTMLLoader();
html.load(new URLRequest("...URL..."));
html.addEventListener(Event.COMPLETE, myeventhandler);

在事件处理程序中,您可以执行此操作。

html.window.document.location =  "javascript:myfunction(arg1)";

答案 1 :(得分:0)

如果我了解您的需求,可以将您的Javascript代码添加到项目{nameOfApplication}.html中的bin-debug

注意:使用此方法,javascript代码将在编译时始终消失。它是关于HTML包装器的。