我正在使用普通HTML编写Adobe AIR应用程序,需要将照片上传到Facebook.我不认为Facebook的JavaScript/Connect库包含照片上传功能,但他们的ActionScript库却有.但是,我在将ActionScript库加载到HTML页面时遇到问题.
Adobe的文档描述了将ActionScript库加载到HTML AIR应用程序的过程,我尝试使用此处提供的已编译Flash库(特别是Facebook_library_with_AIRConnect_v3.4_flash.swc).所以我的页面看起来像:
Hello World content here...
但是当我尝试实际创建一个对象时,似乎无法找到该类:
var fb = new window.runtime.com.facebook.Facebook(); // TypeError: Value is not a constructor. Cannot be used with new.
我不确定这里出了什么问题,但我有几个想法:
我编译的库文件使用的是错误的(我需要.swf而不是.swc)吗?
如果是这样,我是否需要从ActionScript源以某种方式创建自己的编译库?
我使用的命名空间是不正确的?(除了com.facebook.Facebook()我试过.Facebook(),. fb.Facebook(),. facebook.Facebook()等)
我应该放弃并尝试学习Flex吗?
任何帮助/见解将不胜感激!
好吧,经过一番思考后,我设法弄明白了.
结果我确实需要加载.swf文件..swc是一种容器格式,因此如果您将.swc扩展名更改为.zip并将其解压缩,则会获得.swf文件(以及其他几个文件).我包含.swf文件而不是.swc文件,现在似乎正在运行:
var fb = new window.runtime.com.facebook.Facebook(); // it works!