5

Facebook jsssdk在加载 iframe 的方式上存在问题。我们的应用程序与 stbuild 捆绑到一个 iOS 应用程序中(除了通过 http 作为 mobiel 网页提供服务)。

在“iOS 模式”下,您的应用程序的来源是file:///[...]/index.html. Facebook 无方案的 url 样式对我们来说是破坏性的,因为//connect.facebook.net/en_US/all.js转换为file:///connect.... 因此,我们将代码段更新为:

(function(d, s, id, debug){
   var js, fjs = d.getElementsByTagName(s)[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement(s); js.id = id;
   js.src = "//connect.facebook.net/" + bp.lib.Facebook.getCurrentLocale() + "/all" + (debug ? "/debug" : "") + ".js";
   fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk', /*debug*/ false));

但是,facebook sdk 将为单个类似按钮创建 iframe。这些也有<iframe src="//..." >, 和中断。我没有找到强制 sdk 使用 url 方案的方法。

有人有想法吗?谢谢

4

1 回答 1

0

您可以https://在网页中包含的所有 iframe 代码和其他文件中使用。然后,它仍然可以通过常规http连接和https连接正常工作。这是防止此类问题的最佳方法。

于 2013-05-01T14:57:17.083 回答