javascript - 在 HTML Adob​​e AIR 应用程序中加载 Facebook ActionScript 库

标签 javascript facebook actionscript air

我正在使用需要将照片上传到 Facebook 的纯 HTML 编写 Adob​​e AIR 应用程序。我不认为 Facebook 的 JavaScript/Connect 库包含照片上传功能,但他们的 ActionScript 库包含。但是,我在将 ActionScript 库加载到 HTML 页面时遇到问题。

Adobe 的文档描述了 the process of loading ActionScript libraries into HTML AIR apps ,我尝试使用可用的已编译 Flash 库 here (具体来说,Facebook_library_with_AIRConnect_v3.4_flash.swc)。所以我的页面看起来像:

<html> 
<head> 
    <title>Hello World</title>
    <script src="Facebook_library_with_AIRConnect_v3.4_flash.swc" type="application/x-shockwave-flash"></script>
    <script type="text/javascript"> 
        // code here...
    </script>
</head> 
<body>
    <div>content here...</div>
</body> 
</html>

但是当我尝试实际创建一个对象时,它似乎找不到类:

var fb = new window.runtime.com.facebook.Facebook();
// TypeError: Value  is not a constructor. Cannot be used with new.

我不确定这里出了什么问题,但我有几个想法:

  • 我使用的编译库文件是否错误(我需要 .swf 而不是 .swc)吗?
  • 如果是这样,我是否需要以某种方式从 ActionScript 源代码创建我自己的编译库?
  • 我使用的 namespace 不正确吗? (除了 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!

关于javascript - 在 HTML Adob​​e AIR 应用程序中加载 Facebook ActionScript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398983/

相关文章:

javascript - sequelizejs 在删除行时保存对象

php - 使用 Facebook PHP-SDK 3.x 通过 Codeigniter 2.1.0 注册/登录用户

objective-c - 从 iOS 应用程序向 Facebook 发布状态更新

actionscript-3 - 如何在 ActionScript 3 中列出对象的所有方法?

apache-flex - 从 Flex 中继器中删除 XML 节点不起作用?

javascript - 运行时间非常长的 XmlHttpRequest

javascript - jQuery-在特定点改变导航栏的颜色

javascript - 如何在 Javascript/Redactor 中检测来自 OS X 字符查看器和 iOS 表情符号键盘的表情符号插入事件?

php - 3rd 方网站身份验证库(如 openid)

apache-flex - 是否可以在运行时使用Flash或FMS对音频流进行降采样?