我想在我的Adobe Flex应用程序中添加脚本功能。我知道可以使用Browser控件,并将打包为HTML文件的脚本添加到Browser控件,并公开Flex对象。但是我想如果可以在不使用Browser控件的情况下执行JavaScript。
更新:我想我的问题还不够明确。我会解释我想要做的事情。
我想使用JavaScript自定义我的应用程序,即动态地为我的应用程序添加脚本/插件。 我意识到可以通过将JS代码插入HTMLLoader控件来动态执行Javascript。我想知道有一种直接的方法来执行JavaScript而不将其插入到HTMLLoader控件中。
答案 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包装器的。