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 方案的方法。
有人有想法吗?谢谢