我希望将命令字符串发送到Flash应用程序,以执行调试命令。通过Firebugs控制台/命令行执行此操作看起来是启动并运行它的最简单方法。
目前,我可以通过使用ExternalInterface呼叫控制台从Flash应用程序登录到firebug控制台。并通过调用command
方法添加的ExternalInterface.addCallback
方法发送flash app命令。所以目前在包含Flash应用程序的html文件中我有一些Javascript:
$(document).ready(function(){
app = $("#${application}").get(0)
})
在firebug命令行中我可以输入:
app.command('screen.ruler.show')
Flash应用程序会收到此消息。所以这一切都很好,但我希望app.command
电话尽可能短。
所以我想将app.command
函数分配给jqueries $ method风格的单个字符函数。那么我将如何实现函数$$$?
$$$('screen/ruler.show')
答案 0 :(得分:3)
$$$ = function( args ) {
app.command( args );
}
答案 1 :(得分:2)
你不必使这个复杂并使用像jQuery这样的闭包等,你可以做到
$$$ = app.command
或将其包装在函数
中function $$$(arg) {
app.command(arg);
}
或将其附加到窗口,如jQuery:
window.$$$ = function(arg) {
app.command(arg);
}
答案 2 :(得分:0)
示例:
$(function() {
$$$("Fred");
});
var app = {
command: function(arg) {
alert("hello " + arg);
}
};
function $$$(arg) {
app.command(arg);
}
这相当于:
var $$$ = function(arg) {
app.command(arg);
}
到显式函数声明。
Javascript具有所谓的first class functions。