我想在我的网站上使用Facebook的Like按钮。
每个人都知道这很简单,但我对我们国家的审查存在疑问。
Facebook在我们国家受到审查,如果我使用简单的iframe
,那些无法访问Facebook(无法通过审查)的人将会看到我不想要的阻止页面。
所以我想检查加载的地址是否为Facebook显示iframe
其他(他们将被重定向到另一个网站)隐藏iframe
。
有什么方法可以让我找到这个吗?我的意思是地址,内容或身份等等。
这是我的代码:
<html>
<head>
<title>facebook test</title>
<style>
.facebook{
display:none;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
</head>
<script type="text/javascript">
$.ajax({
url: 'https://graph.facebook.com/btaylor?callback=?',
dataType: 'json',
success: function(data) {
$(".faceboock").show();
// alert('success - facebook works');
// alert('data = ' + JSON.stringify(data));
},
error: function() {
alert('error - facebook fails');
}
});
</script>
<div class="faceboock">
<iframe src="http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2Fmypage%2F152215541478267&width=292&colorscheme=light&show_faces=true&stream=true&header=true&height=427" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:427px;" allowTransparency="true"></iframe>
</div>
当客户端访问facebook时,它可以正常工作,我的意思是“成功:功能”有效,但错误功能不起作用。
问题是当json从未回复时无法访问facebook。
有没有办法为响应或其他任何事情设置超时以处理错误?
答案 0 :(得分:1)
您无法检查与您的代码不在同一域中的iframe的内容。
iframe.src
,但重定向发生时不会更改 iframe.contentWindow.location.href
会在重定向发生时更改,但在您的情况下无法访问 我能想到的唯一方法就是测试:
这是使用jQuery进行JSONP调用的working example 它可以在我的位置工作,你可以测试它,看看你是否收到错误警告? 您也可以在浏览器中访问示例中的网址。如果facebook.com被重定向,但是这个不是,你必须找到其他方法来检查它...