我正在尝试在我的网页上实现一个类似的按钮。标题部分包含相关的元标记:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://ogp.me/ns/fb#" >
<head>
<title>
What have you for the world today - Blogs by Antezen
</title>
<link rel="shortcut icon" href="/images/favicon3.ico" type="image/x-icon">
<link rel="icon" href="/images/favicon3.ico" type="image/x-icon">
<meta name="description" content="It was a sunny afternoon..<br>">
<meta property="og:site_name" content="Antezen" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Beginning of a new chapter" />
<meta property="og:url" content="http://antezen.com/blogs/1" />
<link rel="canonical" href="http://antezen.com/blogs/1">
<meta property="og:image" content="http://www.antezen.com/system/pics/645/medium/photo.jpg?1337587175" />
<link rel="image_src" href="http://www.antezen.com/system/pics/645/medium/photo.jpg?1337587175">
<meta property="og:description" content="It was a sunny afternoon..<br>" />
<meta property="fb:admins" content="FB_ADMIN_ID" />
<meta property="fb:app_id" content="FB_APP_ID" />
在body标签内,我指定了javascript sdk:
<body class='app_cont_body'>
<!-- fb JSDK -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
if(typeof FB != 'undefined') {
FB.init({
appId : 'FB_APP_ID',
status : true,
cookie : true,
xfbml : true,
oauth : true
});
}
}
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=FB_APP_ID";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
....
和像这样的xfbml代码的fb类按钮:
<div id='fblike' class='inline'>
<fb:like href="http://antezen.com/blogs/1" send="false" layout="button_count" width="450" show_faces="false" font="arial"></fb:like>
</div>
但是在检查facebook调试工具https://developers.facebook.com/tools/debug中的网址时,它显示facebook无法刮取og:type标签,如og:image,og:title等。 在检查'确切地查看我们的刮刀看到您的URL'时,我得到以下输出:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head>
<body>
<p>$(document).ready(function(){
$(".cast_container").html("\n</p>....
...
...
</body>
</html>
我不知道为什么facebook不会从页面中删除元标记。请帮帮我。
答案 0 :(得分:1)
我用
<!DOCTYPE html>
<html itemscope itemtype="http://schema.org/Blog" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml">
<head prefix="og:http://ogp.me/ns# anotherfeed:http://ogp.me/ns/apps/anotherfeed#">
anotherfeed是我的应用程序的名称空间 - 例如; http://apps.facebook.com/anotherfeed/?ref=FSOF 头部前缀用于打开图形,希望这有帮助。