我希望有一个" facebook分享"网页上的链接或按钮。我们的想法是分享一个链接和一个简短的描述,与twiter相同。不需要页面的图像或标题
过去,以下链接有效: - " http://www.facebook.com/sharer.php?u=" + complete_url + message
现在,facebook忽略了该消息并丢弃了完整的URL链接。相反,它只显示主页的标题。
我在堆栈溢出时发现了这个答案: - Make my own custom Facebook share button
尝试过(下面的脚本) - 我收到了错误:' FB'未定义
如果你能告诉我,我将不胜感激: - 1.我做错了什么? 2.我们每次都要从facebook服务器下载sdk.js吗?
脚本是这样的:
<html><head>
<script>
function onClick() {
FB.ui({
method: 'share',
href: 'the_complete_url_to_specific_page'
});
}
window.fbAsyncInit = function() {
FB.init({
appId : 'my_facebook_id',
xfbml : true,
version : 'v2.3'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</head>
<body>
<a href='#' onclick='onClick() ;return false;'> share on FacebookR</a>
</body>
</html>
答案 0 :(得分:0)
首先:不,您不需要更改API版本。只有当您需要使用仅在较新版本中提供的内容时,请偶尔查看更改日志:https://developers.facebook.com/docs/apps/changelog
如果未加载JavaScript,则会出现“FB is undefined”错误。很可能你不是在真实的服务器上(也可以是localhost)尝试你的代码,而是从你的文件系统。您可以尝试像这样添加“https”到源,或者(更好)测试真实服务器上的代码:
js.src = "https://connect.facebook.net/en_US/sdk.js";
应用ID不是您的用户ID,而是您在此处创建应用后获得的ID:https://developers.facebook.com/apps
顺便说一句,用户可以在弹出共享对话框时立即输入消息。