我想向我的Adobe Flex应用程序添加脚本功能。我知道可以使用浏览器控件,并将打包为HTML文件的脚本添加到浏览器控件中,然后公开Flex对象。但是,如果可以在不使用浏览器控件的情况下执行JavaScript,我希望这样做。
更新:我想我的问题还不够清楚。我会解释我想要做什么。
我想让我的应用程序可自定义使用JavaScript,即,添加脚本/插件到我的应用程序动态。我意识到,通过将JS代码插入到HTMLLoader控件中,可以动态执行Javascript。我想知道有没有一种不需要插入HTMLLoader控件就可以直接执行JavaScript的方法。
发布于 2012-01-03 13:39:21
如果您在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)";
发布于 2012-01-03 16:15:14
如果我知道你想要什么,你可以把你的Javascript代码添加到你的项目的bin-debug
中的{nameOfApplication}.html
中。
注意:使用此方法时,javascript代码将在编译时消失。这是关于HTML包装器的。
https://stackoverflow.com/questions/8712281
复制