我的是一个基于画布的FB应用程序。在Chrome和Firefox上都面临一个问题(尽管通常是Chrome):
1.当我在一个新的匿名Chrome窗口(https://apps.facebook.com/myfbappnamespace/)上点击我批准的fb应用程序安全URL时,下面的错误只是第一次出现,当我刷新页面时,错误就消失了(大多数情况下)
空页显示来自arbiter.php?version=18#cb=f2e4fe7b…的不安全内容。os.com%2Ff4aeadb2&domain=www.mydomain.com&relation=parent&error=unknown_user. 不安全的JavaScript试图使用URL http://www.mydomain.com/control/myfacebookapp/从具有URL arbiter.php?version=18#cb=f2e4fe7b…的帧访问帧os.com%2Ff4aeadb2&domain=www.mydomain.com&relation=parent&error=unknown_user.请求访问的帧将“document.domain”设置为“facebook.com”,但是被访问的帧没有。两者都必须将'document.domain‘设置为相同的值,以允许访问。 xd_arbiter.php:18 不安全的JavaScript试图使用URL http://www.mydomain.com/control/myfacebookapp/从具有URL arbiter.php?version=18#cb=f2e4fe7b…的帧访问帧os.com%2Ff4aeadb2&domain=www.mydomain.com&relation=parent&error=unknown_user.请求访问的帧将“document.domain”设置为“facebook.com”,但是被访问的帧没有。两者都必须将'document.domain‘设置为相同的值,以允许访问。xd_arbiter.php:18
2.当我尝试http url(http://apps.facebook.com/myfbappnamespace/)时,控制台中显示的错误是:
不安全的JavaScript试图使用URL http://apps.facebook.com/myfbappnamespace/从具有URL arbiter.php?version=18#channel=…的帧访问帧Fcontrol%2Ffacebookappchannelurl%3Ffb_xd_fragment%23xd_sig%3Df23e84e85c%26.请求访问的帧具有'https‘协议,被访问的帧具有'http’协议。协议必须匹配。
现在,当我登录到我的fb帐户,看看这些错误发生了什么,它们就消失了,只是有时候。我知道我在这里使用的是“大部分时间”和“有时”,但这正是我正在发生的事情。我还搜索了论坛,并意识到,fb已经解决了这个旧的问题,应该是铬的具体。我已经确保了我的FB.init和其他调用是特定于location.protocol值的。还在画布url (http)和安全画布url (https)中配置了正确的值。也尝试了两个设置:帐户设置、->安全、->安全浏览-> (已启用和禁用)
如果我在某个地方漏掉了什么东西,谁能帮忙吗?
发布于 2013-03-03 10:25:10
有很多可能的问题。尝试使用以下解决方案之一:
FB.init()
(见下面的代码)<div id="fb-root"></div>
放在body标记之后,如fb文档中解释的那样:https://developers.facebook.com/docs/reference/javascript/http://yoursite.com?
设置中)删除尾随斜杠<html>
标记如下:<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
.htaccess代码
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
通道的代码问题:
FB.init({
appId: '1234567890',
status: true,
cookie: true,
xfbml: true,
channelUrl : '//yoursite.com/channel.html'
});
服务器交付的channel.html应该包含以下一行:
<script src="//connect.facebook.net/en_US/all.js"></script>
编辑
关于你的第一期:
The page at about:blank displayed insecure content from http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#cb=f2e4fe7b…os.com%2Ff4aeadb2&domain=www.mydomain.com&relation=parent&error=unknown_user.
这是一个预期的异常,用于测试一个条件-这没有副作用,所以不要关心它。
请参考以下问题:Unsafe JavaScript attempt to access frame with URL: Domains, protocols and ports must match.
https://stackoverflow.com/questions/14892556
复制相似问题