我是一个基于画布的FB应用程序.面对Chrome和Firefox上的问题,(虽然通常是Chrome):
1.当我在新的隐身Chrome窗口(https://apps.facebook.com/myfbappnamespace/)上点击我的已批准的fb应用安全网址时,以下错误仅在第一次出现,当我刷新页面时出现错误走了(大部分时间)
页面大约:空白显示来自http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#cb=f2e4fe7b的不安全内容 ... os.com%2Ff4aeadb2&domain = www.mydomain.com&relation = parent&error =未知用户.
不安全的JavaScript尝试与URL访问框架 http://www.mydomain.com/control/myfacebookapp/从框架与URL 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.请求访问的框架将'document.domain'设置为'facebook.com',但正在访问的框架没有.两者都必须将'document.domain'设置为相同的值才能允许访问.
xd_arbiter.php:18不安全的JavaScript尝试与URL访问框架 http://www.mydomain.com/control/myfacebookapp/从框架与URL 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.请求访问的框架将'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 https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel= ... F控制%2Ffacebookappchannelurl%3Ffb_xd_fragment%23xd_sig%3Df23e84e85c%26.请求访问的帧具有"https"协议,被访问的帧具有"http"协议.协议必须匹配.
现在,当我登录到我的fb帐户以查看这些错误会发生什么时,它们会消失,有时只会消失.我知道我在查询中使用"大部分时间"和"有时",但这正是我发生的事情.我也搜索了论坛并意识到fb已经修复了这个本来应该是特定于chrome的问题.我确保我的FB.init和其他调用是location.protocol值特定的.还在canvas url(http)和安全canvas url(https)中配置了正确的值.还尝试了两种设置:帐户设置 - >安全 - >安全浏览 - >(已启用和已禁用)
如果我在某处丢失某些东西,有人可以帮忙吗?
我正在使用JS SDK for Facebook基于新的GraphAPI for Auth/Login.
在FB.login()通过JS SDK调用后登录时有没有人遇到此问题?
问题:在我通过FB.Init()异步调用初始化之后(因为这都包含在一个window.fbAsyncInit函数中),登录弹出; 我登录但是弹出窗口刷新显示白页,弹出窗口保持打开状态并且不关闭...为什么?我正在等待检查FB.login()回调中的response.session,但似乎我从来没有收回它,因为这个弹出窗口似乎只是坚持在那里,并且在你登录后这个过程似乎停止了我只是认为这个流行音乐-up会关闭并自动返回回调中的response.session.为什么弹出窗口不会消失?
我登录后复制了弹出窗口中的url并显示白色以下url所以看起来响应就在那里但是为什么弹出窗口没有关闭所以我的回调可以处理响应?
http://static.ak.fbcdn.net/connect/xd_proxy.php#?=&cb=f18fe0b7c66da54&origin=http%3A%2F%2Flocalhost%2Ff3745f32ed63a7a&relation=opener&transport=postmessage&frame=f18adb488566372&result=user_photos&session={%22session_key%22%3A%222.vH4SVCisnh8HJWjEI1Vy_Q__.3600.1280106000-100001379631246%22%2C%22uid%22%3A%22100001379631246%22%2C%22expires%22%3A1280106000%2C%22secret%22%3A%22TH45WFg8I_5r_cOoVIujjg__%22%2C%22access_token%22%3A%22132444323462464|2.vH4SVCisnh8HJWjEI1Vy_Q__.3600.1280106000-100001379631246|q123iPQcKY45xWXtOZ2ebOOZTQQ.%22%2C%22sig%22%3A%22a75e85af2354292bfdcf90b9d319ebf7%22}
Run Code Online (Sandbox Code Playgroud)
我注意到当FB.login()被调用并且登录弹出窗口出现时,我在FireBug中看到这个错误,它在讨论它是如何不喜欢我正在测试localhost或我想的事实:
未捕获异常:[例外..."组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[nsIDOMLocation.host]"nsresult:"0x80004005(NS_ERROR_FAILURE)"位置:"JS frame :: chrome://smarterwiki/content/smarterwiki.js :: anonymous :: line 1225"data:no]
这个错误困扰着我...我需要弄清楚它为什么会出现,我敢打赌,我不是唯一一个在本地测试时见过这个的人.我在Facebook论坛或其他地方的任何地方都没有看到关于网络故障排除的信息.我看到其他人有这个问题,但没有解决方案.
因此,当您实施自己的Facebook时,在用户登录后,您的Facebook弹出窗口是否刚刚关闭,或者您是否需要执行一些特殊操作才能完成此过程?
此外,我注意到如果我手动关闭该弹出窗口然后去检查是否生成了包含我的会话的fbs_[yourappid]cookie ,它不是(cookie).所以看起来这里的某些事情过早结束了.我已经进入了我的init cookie:是的,所以我想知道这个问题是否是弹出对话框没有关闭也与我的测试PC上没有在客户端创建的cookie有关.
创建了以下Web应用程序:
我还将其添加到Chrome网上应用店:
https://chrome.google.com/webstore/detail/idalgghcnjhmnbgbeebpdolhgdpbcplf
问题是当进入Chrome网上应用店并安装此应用程序时,Facebook登录窗口会挂起"XD代理"窗口.虽然连接本身有效,但这个空白窗口可能会使用户感到困惑.
我做了我的研究,这似乎是一个Chrome问题:https: //code.google.com/p/chromium/issues/detail?id = 59285#c26
如果您从Chrome卸载该应用,问题就会消失.
这个问题有解决方法吗?
类似的stackoverflow问题:
这是我的Facebook连接,以防它有帮助:
FB.init({
appId : window.__FACEBOOK_APP_ID__,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : window.__MEDIA_URL__ + 'channel.html', // channel.html file
oauth : true // enable OAuth 2.0
});
FB.XD.Flash.init();
FB.XD._transport = "flash";
if (A.networks.facebook.connected) {
FB.getLoginStatus(function (response) {
// Stores the …Run Code Online (Sandbox Code Playgroud) 我正在将facebook登录集成到我的应用程序中,除IE之外,它在浏览器中工作正常.它在登录重定向到http://static.ak.fbcdn.net/connect/xd_proxy.php后打开登录窗口,并在弹出窗口中显示空白页面.在其他浏览器中,它将关闭弹出窗口并重定向到我的网站.我的应用网址就像http://dev.mysite.com/app/.所以我dev.mysite.com在facebook应用程序设置中给出了域名.我正在使用facebook javascript sdk,我的网站是PHP.有人请帮我弄清楚实际问题.
提前致谢
我正在尝试使用javsacript SDK将Facebook Connect集成到我的网站.
代码就像
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '**********', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
// do something with response
login();
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
logout();
});
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
login();
}
});
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}()); …Run Code Online (Sandbox Code Playgroud) 我已经使用Javascript SDK实现了facebook连接.当我尝试进行身份验证的用户未登录到Facebook时,身份验证工作正常.但是当他已经登录到facebook时,登录弹出窗口永远不会关闭.弹出窗口的URL以"http://static.ak.fbcdn.net/connect/xd_proxy.php#cb = ....."开头.
这在Firefox 3.5和Chrome上都会发生.有什么建议?连接到Facebook时是否需要设置任何额外参数?