Facebook 使用来自不同域的代码

标签 facebook cross-domain facebook-apps facebook-app-requests

我正在用 js 创建一个小部件,该小部件将在许多网站上实现,
Facebook 要求我向他们提供“我的域名”,以便他们知道我已通过验证。
问题是许多网站都会使用该小部件,并且我不会手动将所有这些域列出到 Facebook。
如何使我的应用程序能够仅使用 js 在这些不同的网站上运行? (对于小部件)

提前致谢。

最佳答案

您的小部件可能需要在您自己的域托管的 iFrame 中加载其 FB 代码。然后,您需要使用一些跨域/跨 iframe JS 技巧来让您的系统与使用它的页面进行通信。 (这是关于这样做的一个很好的资源... http://softwareas.com/cross-domain-communication-with-iframes )这绝对是一种痛苦,但这是我能想到的做你想做的事情的唯一方法。目前可能有一些好的 JS 库可以让这件事变得更容易,但我还没有立即意识到。

另一个选择是创建一堆 Facebook 应用程序,每个应用程序属于不同的域。这也会给维护带来一些痛苦,但它会简化你需要编写的 JS 代码。这种方法在稳健性方面有一些优势 - 如果使用您的小部件的某个网站出现恶意行为并因任何原因禁止该应用程序,您的其他客户端网站将不会受到影响。

Facebook曾经提供过“克隆应用程序”工具,但现在我找不到它。

关于Facebook 使用来自不同域的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10286881/

相关文章:

ios - Facebook:如何分离调试和生产模式事件?

facebook-apps - 如何将我的应用程序添加到我的粉丝页面?

android - 在 android 中使用新的 GRAPH API 获取 facebook 帐户的 URL

facebook - FB 在 Firefox 4 上未定义

reactjs - Express/React 与 CORS - 为 React SPA 设置仅 HTTP 的安全 Cookie

javascript - 脚本权限错误,即使启用了 CORS

ios - Facebook 应用程序重定向到 App Store

ios - FBSDKLikeControl 变灰/禁用

android - 在 Android Facebook SDK 中更改对话框大小

c# - 特定域的 DNS 解析失败。域与 nslookup 一起使用