首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook共享不将图像张贴到用户墙上

Facebook共享不将图像张贴到用户墙上
EN

Stack Overflow用户
提问于 2015-08-24 06:05:49
回答 3查看 683关注 0票数 0

我试图分享图片和内容从一个网页到用户的FB墙,但它不是张贴。图像显示在共享弹出,但没有显示在用户的墙。为此,我有以下代码。在头部我有

代码语言:javascript
复制
<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中

代码语言:javascript
复制
 <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/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-24 09:19:17

在网上找到了一些资源并修复了这个问题。我使用了下面的代码来修复这个

代码语言:javascript
复制
<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

代码语言: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中,将文本替换为您自己的值。

票数 0
EN

Stack Overflow用户

发布于 2015-08-24 07:52:37

我查看了提供的页面的源代码,发现没有打开的图形元标记。你应该确保那些元标签是打印出来的。

您在共享框中看到了正确的图像,因为您在共享按钮的数据图像属性中指定了路径。但是Facebook使用一个爬虫从你的页面中拾取东西来显示在墙上,而这个爬虫依赖于打开的图形元标签,而这些标记是缺失的。

票数 -1
EN

Stack Overflow用户

发布于 2015-08-24 08:34:19

我认为你必须调试你的网站网址,在这里你可以看到什么图像facebook共享。(https://developers.facebook.com/tools/debug/)。请试试看。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32175414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档