我一直试图在几个小时内解决这个问题,但我似乎无法修复它,我已经看到了类似的其他问题,并尝试使用这些来解决我的问题但无济于事。
我已经建立了一个facebook比赛画布应用程序,它可以独立显示,但是当我将它链接到Facebook页面时(作为新比赛的链接),Chrome不再显示并发出以下警告:
“https://www.facebook.com/contest/app_xxxxxxxx”的页面是通过HTTPS加载的,但是运行了来自“http://mydomain.com/”的不安全内容:此内容也应通过HTTPS加载。
我已经部分通过搜索这个网站了解到chrome安全性比较繁琐,并且应用程序正确加载,FireFox和IE中没有错误,但我找不到任何从非https源加载的资源。
我已经通过网络选项卡中的firebug检查并检查所有加载的资源是否都使用https(png图像,jpg图像,css文件和jquery js文件都托管在同一台服务器上有证书),我甚至尝试过托管过渡dtd文档,但似乎没有任何东西可以使警告消失并且应用程序显示正确。
在其他类似的问题中,似乎有来自非https源的资源,或者在fb init之前传递的facebook的javascript库中使用了ssl开关。
问题是我只使用php sdk而不是js one(尽管我使用的是jquery的1.9版本,托管在我的服务器上),我在那里找不到类似的ssl特定设置。
如果有人可以给我一个关于我如何进一步调查的提示,我可能会遗漏或熟悉这个问题我会有兴趣听到它。
非常感谢。
大卫
答案 0 :(得分:1)
Facebook要求应用程序来自https://您需要在服务器上使用ssl证书并启用ssl。在Facebook应用设置中将安全网址更改为https://mydomain.com网址
我最近确实遇到过类似的问题(但它只引起了IE10上的问题)我通过添加P3P标题解决了这个问题
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT');
答案 1 :(得分:1)
找到了解决方案!
在Facebook应用设置中,如果页面标签网址特定于某个页面,例如https://www.mydomain.com/index.php,chrome不会对不安全的内容消息抱怨,但如果您引用目录,则会传播错误。我发现这令人困惑,因为'canvas'网址需要是目录。
我希望这个答案可以节省几个小时! :)