检查用户计算机是否可以访问Facebook
Facebook在我们国家是被禁止的。然而,仍然有相当数量的用户可以使用Facebook。当然,许多其他人不能。我的网站使用类似Facebook的按钮和框。如果用户机器无法访问Facebook,页面上将出现一些“丑陋”的部分,其中应该有Facebook插件检查用户计算机是否可以访问Facebook,facebook,xfbml,Facebook,Xfbml,Facebook在我们国家是被禁止的。然而,仍然有相当数量的用户可以使用Facebook。当然,许多其他人不能。我的网站使用类似Facebook的按钮和框。如果用户机器无法访问Facebook,页面上将出现一些“丑陋”的部分,其中应该有Facebook插件 有人知道如何解决这个问题吗?我的意思是如何检查用户机器是否可以访问Facebook?任何技巧都值得欣赏。您可以在Facebook的服务器上加载一个隐藏图像,然后添加一个OneError处理程序,如果无法访问Facebook,该处理程序会告诉您
有人知道如何解决这个问题吗?我的意思是如何检查用户机器是否可以访问Facebook?任何技巧都值得欣赏。您可以在Facebook的服务器上加载一个隐藏图像,然后添加一个OneError处理程序,如果无法访问Facebook,该处理程序会告诉您:
<img src="https://graph.facebook.com/4/picture" style="display:none" onerror="doSomething();" />
PS:中国封锁Facebook绝对是荒谬的。我通过使用Facebook API实现了这一点。只需启动一个查询,并调用FB.XFBML.parse();当查询完成时
<script type="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: 'app id',
status: false,
cookie: true,
xfbml: false,
oauth: false
});
FB.api({
method: 'fql.query',
query: 'SELECT uid,name FROM user WHERE uid=1234'
},
function (response) {
if (response[0].uid == '1234') { // Now that the user can connect to facebook
FB.XFBML.parse();
}
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
window.fbAsyninit=函数(){
FB.init({
appId:“应用程序id”,
状态:false,
曲奇:是的,
xfbml:false,
oauth:错误
});
FB.api({
方法:“fql.query”,
查询:“选择uid,用户名来自uid=1234的用户”
},
功能(响应){
如果(响应[0].uid=='1234'){//现在用户可以连接到facebook了
FB.XFBML.parse();
}
});
};
(功能(){
var e=document.createElement('script');
e、 src=document.location.protocol+'//connect.facebook.net/en_US/all.js';
e、 异步=真;
document.getElementById('fb-root').appendChild(e);
}());
那么当用户无法访问facebook时会发生什么?您从facebok.com的HTTP get请求中得到的响应是什么?我的第一次尝试是将此响应转换为布尔值,并根据此布尔值输出不同的代码/显示。我有相同的想法。我正在尝试:$.get(“,函数(){alert(“load facebook success”);});但它不起作用。Chrome控制台显示如下错误:XMLHttpRequest无法加载。访问控制不允许源代码允许源代码您知道为什么吗?如果您已经在使用jquery,这也很有效。如果你需要一种方法来测试它,只需将facebook.com重新路由到你主机文件中的其他内容。是的,我现在可以访问FB(我现在在英国)。然而,该错误出现在Chrome控制台中。在Fiddler中,请求确实发出了,并返回了200状态。你能看到我的jquery代码有什么问题吗?要么Facebook不允许跨域请求,要么你需要使用JSONP。检查以下答案: