我们在加载iframe的方式上遇到了Facebook jsssdk的问题。 我们的应用程序与stbuild捆绑在一个iOS应用程序中(除了通过http作为mobiel网页提供服务)。
在“iOS模式”下,您应用的来源为file:///[...]/index.html
。 Facebook无方案网址风格对我们来说很突破,因为//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="//..." >
和休息。我没有找到强制使用url方案的方法。
有没有人有想法?感谢
答案 0 :(得分:0)
您可以在所有iframe代码和网页上包含的其他文件中使用https://
。然后,它仍可在常规http
连接和https
连接上正常运行。这是防止此类问题的最佳方法。