我需要将文本从嵌入式 SWF(Web 浏览器)发送到基于 AIR 的桌面应用程序。 我按照 documentation 中的说明进行了所有操作但我无法建立连接。
有人看到我做错了什么或者可以给我指出一个可行的例子吗?
来自 SWF:
function startConnection(e:Event=null):void
{
var localConnection:LocalConnection
localConnection = new LocalConnection();
localConnection.client = this;
localConnection.allowDomain("app#com.example.desktop");
var textToSend = "Hello world! Source: http://www.foobar.com";
localConnection.send("app#com.example.desktop:connectionName", "methodName",textToSend);
}
从 AIR 桌面应用程序:
function onBrowserInvoke (event:BrowserInvokeEvent):void{
var localConnection:LocalConnection
localConnection = new LocalConnection();
localConnection.client = this
localConnection.allowDomain("example.com");
localConnection.connect("connectionName");
}
谢谢。 乌利
最佳答案
工作代码是:
AIR:
var localConnection:LocalConnection = new LocalConnection();
localConnection.send("_myConnection", "methodName", "Hello world! Source: http://www.foobar.com");
SWF:
var localConnection:LocalConnection = new LocalConnection();
localConnection.allowDomain("app#airtest"); //or use "*" wildcard to allow any domains and AIR applications
localConnection.client = this;
localConnection.connect("_myConnection");
其中 airtest
是 AIR 应用程序的应用程序 ID。在本地连接名称之前使用 _
符号以支持不可预测的域名(它将在 Debug模式下和通过 http 工作)。
关于actionscript-3 - As3 - SWF 和 AIR 桌面应用程序之间的本地连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14234833/