2012-01-11 35 views
13

Tôi đang cố gắng tích hợp nút chia sẻ Facebook vào trang web của chủ nhân của tôi, tiêu đề, url, mô tả/giới thiệu đều hiển thị chính xác, tuy nhiên không có hình ảnh nào được đính kèm. Khi hộp thoại chia sẻ mở ra, một vùng chứa hình ảnh nhấp nháy và sau đó biến mất như thể facebook đang cố gắng xử lý (các) hình ảnh nhưng không thành công.Chia sẻ Facebook không hiển thị hình ảnh từ thẻ meta biểu đồ mở

Tôi đang sử dụng og: image và một mối quan hệ liên kết để thử và xác định ảnh để sử dụng cho các liên kết chia sẻ:

<meta property="og:image" content="/images/logo_white_150px.png" /> 
<link rel="image_src" type="image/png" href="/images/logo_white_150px.png" /> 

Đó hình ảnh từng làm việc (nó có quy mô thích hợp) nhưng không còn làm, tôi cũng đã thử các hình ảnh khác có kích thước và định dạng khác nhau mà không có may mắn.

Đây là mở các thẻ meta Tôi đang sử dụng trong tiêu đề:

<!DOCTYPE html> 
<html xmlns:fb="http://ogp.me/ns/fb#" itemscope itemtype="http://schema.org/Article" xmlns:og="http://ogp.me/ns#"> 
    <head>  
    <meta property="og:type" content="landing page" /> 
    <meta property="og:title" content="Social Media Test Page" /> 
    <meta property="og:description" content="This is a page for testing the behavior of social media buttons..." /> 
    <meta property="og:image" content="/images/logo_white_150px.png" /> 
    <link rel="image_src" type="image/png" href="/images/logo_white_150px.png" /> 
    <meta property="og:image:type" content="image/png" /> 
    <meta property="og:url" content="<%=shortUrl%>" /> 
    <meta property="og:site_name" content="site name" /> 
    <meta property="og:medium" content="mult" /> 
    </head> 

Dưới đây là JavaScript Tôi đang sử dụng vào lúc bắt đầu của cơ thể:

<body> 
    <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 = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
     fjs.parentNode.insertBefore(js, fjs); 
     } (document, 'script', 'facebook-jssdk')); 
    </script> 
    ... 

Và đây là làm thế nào Tôi đang sử dụng nút:

<div class="left" style="text-align: center;"> 
    <a name="fb_share" type="button" share_url="<%=shortUrl%>">Share</a> 
    <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> 
    </div> 

Bất kỳ trợ giúp nào được đánh giá cao, cảm ơn trước
Chris.

+1

Theo kinh nghiệm của tôi, vấn đề thực sự là cookie. Xóa bộ nhớ cache nhiều lần giữa các thử nghiệm của bạn và nó sẽ hoạt động. Mã của bạn có vẻ ổn. – Leonidas

+0

Fb có một công cụ miễn phí để kiểm tra trang web của bạn. –

Trả lời

0

Nếu không thấy đầu ra HTML từ mã của bạn, tôi chỉ có thể đoán được vấn đề. Không sử dụng url tương đối như <%=shortUrl%>, nhưng hãy đảm bảo sử dụng Url đủ điều kiện .... một cái gì đó có http (s): // trên đó.

Ngoài ra, http://developers.facebook.com/docs/share/ cho biết nút chia sẻ này không được dùng nữa. Thay vào đó, hãy thay đổi bằng cách sử dụng nút Thích: http://developers.facebook.com/docs/reference/plugins/like/

+0

Tôi biết nút chia sẻ không được dùng nữa, chủ lao động của tôi vẫn muốn nó cho đến khi chúng tôi có thể triển khai nút tùy chỉnh như vậy.biến jsp shortURL thực sự là url đủ điều kiện mà chúng tôi nén bằng thư viện Google tương tự như tinyurl. – cgrantham

+1

Có thể trình phân tích cú pháp hình ảnh không thích chuyển hướng? Tôi chưa bao giờ thử. Nhưng bạn có thể thử xóa url rút gọn và đặt url hoàn chỉnh trong thẻ OG thay thế. Hoặc cho rằng vấn đề, cho đến khi bạn làm cho nó hoạt động, mã hóa cứng thẻ og: image. – DMCS

+1

thẻ meta hình ảnh: sử dụng đường dẫn đầy đủ và tôi có thể truy cập hình ảnh trực tiếp trong trình duyệt bằng url đó – cgrantham

1

Nếu mọi thứ đều ổn trên kết quả được tìm kiếm, hãy thử tìm nạp thông tin mẩu tin mới bằng cách sử dụng Facebook Debugger.

Điều này là do Facebook sử dụng bộ nhớ cache của riêng mình cho og: dữ liệu.

+1

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần quan trọng của câu trả lời tại đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/10796778) – YPCrumble

+1

@YPCrumble trong khi đó thường là đúng, không có ở đây. Liên kết liên kết đến một công cụ. Bạn không thể đăng công cụ. –

0

Theo kinh nghiệm của tôi:

  • Tất cả các URL nên tuyệt đối (ngay cả những og: giá trị hình ảnh)
  • Nếu hình ảnh của bạn được phục vụ như nhau trên https bạn nên thêm một og: image: tài sản meta SECURE_URL với url tuyệt đối cũng như (nếu bạn phục vụ tất cả mọi thứ chỉ qua https, bạn có thể bỏ qua)
  • Thêm vào làm tốt một og: image: chiều rộng và og: image: chiều cao tính meta

Chuyển hướng url chính rất phức tạp, bạn nên chắc chắn rằng nội dung của bạn được tìm nạp chính xác (và đầy đủ), đối với nội dung động phức tạp, tôi thường kết thúc dò tìm trong .htaccess để phục vụ cho trình thu thập thông tin của FB như sau:

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} facebookexternalhit/[0-9] 
RewriteRule ^(.*)$ OG_GENERATOR_SCRIPT_HERE.php [L,QSA] 
Các vấn đề liên quan