2010-11-10 72 views
0

我想在我的安全页面上使用Facebook社交插件(它们是iframe)。我有Facebook的src属性作为“https://www.facebook ....”,它允许页面在Firefox中不渲染任何问题,但由于某种原因,只有在IE浏览器中,这仍会触发页面同时存在的警告安全和不安全的元素。有任何想法吗?Facebook iframe触发不安全/安全警告


编辑:问题实际上发生在所有的浏览器,不只是IE浏览器。正如Nathan所述,除了不包含fb插件之外,实际上还没有解决方案。

回答

0

Facebook social plugins有两种版本 - iframe格式和XFBML格式。 XFBML格式利用了Facebook's Javascript SDK,并且可以通过SSL提供服务。优点和缺点是XFBML需要更多的工作,并且iframe格式是直接复制和粘贴。我还没有尝试过,但是在上述的文档中已经清楚了。

1

社交插件包含托管在Facebook akamai服务器上的图片,脚本和css,它们始终只有http。静态内容位于诸如http://static.ak.fbcdn.net/之类的地址上。总之,除非Facebook重新设计插件以将静态内容托管在安全服务器之外,否则将不会有任何解决办法。考虑到他们必须在整个CDN网络上启用ssl,这是不太可能的。我建议使用社交插件non-ssl创建页面,并且仅在需要时切换到ssl。

+0

我很害怕这种情况 - 谢谢@Nathan – 2010-11-10 20:30:09

1

只是为了完成,现在也修复了iframe插件。他们可以通过https服务并从https加载所有资源。

+0

真棒,感谢您的支持! – 2011-04-30 05:30:39

1

我和我的.net画布应用程序有同样的问题,最初似乎仅限于IE和Firefox,但最近在Chrome中表现出相同的行为。原来我不是引用了Facebook的Javascript SDK的SSL URL在我的aspx页面的标记:

<asp:ScriptReference Path="http://connect.facebook.net/en_US/all.js" /> 

把它改为:

<asp:ScriptReference Path="https://connect.facebook.net/en_US/all.js" /> 

现在已经不获取安全内容警告。

也相信通过调用Response对象的下列方法在Page_Load事件禁用代理服务器和浏览器缓存帮助:

Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetNoStore(); 

感谢“TonyDong”对于提示:http://forums.asp.net/t/1013531.aspx/4/10

0

我IE中的like box也是这个问题。然后我安装了iframe variant。现在一切都很好。