0

我试图从网页共享图像和内容到用户的FB墙,但它不张贴它。图像显示在弹出的共享中,但未显示在用户的墙上。 为此我有以下代码。 在头部区间i具有Facebook共享不张贴图像到用户墙

<meta property="og:url" content="http://objdevelopment.com/notice/ddfdf" /> 
<meta property="og:type" content="website" /> 
<meta property="og:title" content=" Notice of Passing" /> 
<meta property="og:description" content="Notice of Passing " /> 
<meta property="og:image" content="http://objdevelopment.com/notice/wp-content/uploads/65a4465e9258729f8085c4d780700dad.jpg" /> 

和在HTML我有

<div id="fb-root"></div> 

<script type='text/javascript'> 

    (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 = "http://connect.facebook.net/en_US/sdk.js#version=v2.3&appId=937475996303874&status=true&cookie=true&xfbml=true"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 


<!-- Your share button code --> 
<div class="fb-share-button" data-href="http://objdevelopment.com/notice/onope/ddfdf/" 
    data-layout="button_count"> 
</div> 

,它是示出像这样http://www.awesomescreenshot.com/image/510674/5e1cdc7572ab3946a36a23ff2c49b014

点击共享按钮它打开下面的窗口 https://drive.google.com/file/d/0B54OjkhFLGPXNXI2MWgya1RRWFU/view?usp=sharing

并在墙上它是这样显示http://www.awesomescreenshot.com/image/510678/ca4fc6be51aed2db5049b96546a6cd99

这里作为我的期望是: https://drive.google.com/file/d/0B54OjkhFLGPXdGluaF9PNzdEakk/view?usp=sharing

对于现场测试,请访问

http://objdevelopment.com/notice/onope/ddfdf/

回答

0

在网上发现了一些资源并修复了这个问题。我用下面的代码来解决这个

HTML

<a class="fb-share-button fb_share" href="#" data-href="[page_url]" data-image="[image_url]" data-title="[Post_title] " data-desc="[Post_description]" > <i class="fa fa-facebook"></i> </a> 

的Javascript

<script> 
/**FB SHARE**/ 

window.fbAsyncInit = function() { 
FB.init({ 
    appId: 937475996303874, 
    status: true, 
    cookie: false, 
    xfbml: true 
}); 
}; 

(function(d, debug){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" + (debug ? "/debug" : "") + ".js";ref.parentNode.insertBefore(js, ref);}(document, /*debug*/ false)); 

function postToFeed(title, desc, url, image) { 
var obj = {method: 'feed',link: url, picture: image,name: title,description: desc}; 
function callback(response) {} 
FB.ui(obj, callback); 
} 

var fbShareBtn = document.querySelector('.fb_share'); 
//fbShareBtn.addEventListener('click', function(e) { 
jQuery('.fb_share').click(function(e){ 
e.preventDefault(); 
//alert(); 
var title = fbShareBtn.getAttribute('data-title'), 
    desc = fbShareBtn.getAttribute('data-desc'), 
    url = fbShareBtn.getAttribute('href'), 
    image = fbShareBtn.getAttribute('data-image'); 
//console.log(image+ "Hello"); 
postToFeed(title, desc, url, image); 

return false; 
}); 
/**FB SHARE**/ 
</script> 

在HTML中使用您自己的值替换[]之间的文本。

-1

我看着提供页面的源代码,并没有发现开放图表meta标签。你应该确保打印这些元标记。

因为您在共享按钮上指定了data-image属性中的路径,所以您在共享框上看到了正确的图像。但Facebook使用爬虫从你的页面上拿东西来显示在墙上,并且该爬虫依赖于打开的图元标记,这是缺少的

+0

谢谢你提醒我。我在stackoverflow中发现了另一篇文章,并且没有使用meta标签。 –