我一直在努力在我的网站上显示一个 facebook“贴到墙上”对话,但它显示的只是该页面上的代码。
这是应该发生的事情:
- 访问者来到我的网站并点击我制作的自定义“分享”按钮
- 然后访问者被重定向到不同页面上的提要对话框,他们共享我的页面。
- 然后他们继续下载我提供的内容。
我制作了一个 facebook 应用程序,然后从 facebook 开发人员页面复制了代码并填写了我需要的所有内容,但是每当我单击共享时,它会将我带到一个包含所有代码的页面。
我一直在努力在我的网站上显示一个 facebook“贴到墙上”对话,但它显示的只是该页面上的代码。
这是应该发生的事情:
我制作了一个 facebook 应用程序,然后从 facebook 开发人员页面复制了代码并填写了我需要的所有内容,但是每当我单击共享时,它会将我带到一个包含所有代码的页面。
试试这个,加载 javascript SDK:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelUrl : 'URL_TO_CHANNEL_FILE', // Channel File optional
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
// 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";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
然后为你的按钮添加一个监听器,假设你的按钮有 id,bt-download
<script>
$(document).on("click", "#bt-download", function(){
var obj = {
method: 'feed',
link: 'link to your webpage',
picture: "url to the picture you want size 90px x 90px",
name: 'the name you want',
caption: 'your caption',
description: 'your description',
display: 'popup'
};
function callback(response) {
if (response && response.post_id) {
alert('Post was published.');
//here you can redirect the user to the download page
} else {
alert('Post was not published.');
}
}
FB.ui(obj, callback);
});
</script>