【问题标题】:https pages in facebook app/iframefacebook 应用程序/iframe 中的 https 页面
【发布时间】:2011-11-16 10:56:16
【问题描述】:

将 https 页面加载到我的 Facebook 应用程序时遇到了这个非常奇怪的问题(当应用程序以 http://apps.facebook.com/xxxxx 运行时)。

如果我确实声明它的 http 或 https 使用。

FB._https = (window.location.protocol === 'https:');

在我的 https 页面上,facebook javascript api 静默失败或至少 setSize 函数失败。将 http 页面加载到 iframe 中时,它可以正常工作。

如果我不声明它的 https 与否,我会在 IE 中收到安全警告,在所有其他浏览器中它都可以正常工作。

如果我将我的设置设置为以 https 运行应用程序并且我的所有页面都在 https 中,那么它可以正常工作。

但问题是,如果用户在 http 上运行 facebook,那么我必须能够在 iframe 中将一些页面显示为 https,有人遇到过类似的问题吗?

【问题讨论】:

    标签: facebook http iframe canvas https


    【解决方案1】:

    这里有类似的问题 - 我整理了一个 proof-of-concept 进行测试。这是filed as a bug,显然正在查看。如果你去 +1 错误报告可能会有所帮助。

    【讨论】:

      【解决方案2】:

      如果有人在 http 上使用 facebook,并且他们访问了为 https 设置的应用程序,他们只会看到 https 页面。或者您可以设置一个 http 画布页面以及您的 https 页面。您不需要采取任何这些变通办法..

      【讨论】:

      • 为回复欢呼。但不幸的是,这不是问题。我确实有一个 http 和一个 https 画布页面。问题是,如果有人在 occation 上使用 http 画布页面,那么当它失败时,我需要加载一个 https 页面(到 http 画布中)。
      • 只需在http画布页面设置中放一个https url即可
      • 也试过了,似乎问题是window.top.location和cnavas协议之间的协议不匹配。
      • 这是不可能的,因为如果用户浏览 facebook 不安全,fb 将失败请求。
      • 创建一个重定向到安全的 http 画布?
      猜你喜欢
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      相关资源
      最近更新 更多