Facebook 공유 버튼 및 맞춤 텍스트 [닫힘]


93

벽이나 뉴스 피드에 사용자 지정 텍스트를 게시하는 Facebook 공유 버튼을 만드는 방법이 있습니까?


답변:


94

우리는 다음과 같은 것을 사용합니다 [한 줄로 사용] :

<a title="send to Facebook" 
  href="http://www.facebook.com/sharer.php?s=100&p[title]=YOUR_TITLE&p[summary]=YOUR_SUMMARY&p[url]=YOUR_URL&p[images][0]=YOUR_IMAGE_TO_SHARE_OBJECT"
  target="_blank">
  <span>
    <img width="14" height="14" src="'icons/fb.gif" alt="Facebook" /> Facebook 
  </span>
</a>

4
이 링크를 팝업 또는 모달 창에서 여는 방법을 알고 있습니까? 작동하는 방법을 찾을 수 없습니다. 일반적인 팝업 창 코드를 사용하는 것만 큼 간단하지 않습니다.
tvgemert 2011-06-01

1
상단의 답변보다 효과적입니다.
Mateng

29
@tvgemert : 시도 <a class="facebook" target="_blank" onclick="return !window.open(this.href, 'Facebook', 'width=640,height=300')" href="http://www.facebook.com/sharer/sharer.php?u=YOUR_URL">Facebook</a>
Mateng

완벽합니다. 이것은 해시 뱅 URL에서도 작동합니다!
dvtoever

73
더 이상 작동하지 않습니다.
Chuck Le Butt

30

Facebook 공유에 사용자 지정 매개 변수를 제공하려면 링크 만 제공하는 것이 더 좋습니다. Facebook 은 공유중인 페이지에서 제목 + 설명 + 그림을 자동으로 가져옵니다. 페이스 북 API가 이러한 것들을 "도움"하기 위해 당신이 공유하고있는 페이지의 헤더에 다음과 같은 것들을 넣을 수 있습니다 :

<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail_image" />

여기에서 확인

페이지가 귀하의 통제하에 있지 않은 경우 AllisonC 가 위에서 공유 한 내용을 사용하십시오 .

팝업 modalview 유형 동작의 경우 :

자신의 버튼 / 링크 / 텍스트를 사용하면 다음과 같은 방법으로 모달보기 유형의 팝업을 사용할 수 있습니다.

<script type= 'text/javascript'>
$('#twitterbtn-link,#facebookbtn-link').click(function(event) {
var width  = 575,
    height = 400,
    left   = ($(window).width()  - width)  / 2,
    top    = ($(window).height() - height) / 2,
    url    = this.href,
    opts   = 'status=1' +
             ',width='  + width  +
             ',height=' + height +
             ',top='    + top    +
             ',left='   + left;

window.open(url, 'twitter', opts);

return false;
});
</script>

여기서 twitterbtn-link와 facebookbtn-link는 모두 앵커의 ID입니다.


URL이 동일한 경우 메타 속성의 데이터가 Facebook에서 캐시됩니까? 아니면 모든 페이지보기에 개별 POST 데이터를 넣을 수 있습니까?
Mateng

당신이 의미하는 바를 이해하지 못했습니다.
ShayanK 2012 년

방금 이걸 발견했습니다. 내 홈페이지에 내 비즈니스와 관련된 Facebook 페이지를 좋아요 / 공유하도록 설정된 좋아요 / 공유 코드가 있습니다. 페이지에있는 facebook 메타 태그를 무시하는 것 같습니다. 누구든지이 문제가 발생합니까?
Chris Hawkins

1
이 방법은 더 이상 작동하지 않는 것 같습니다. 맞춤형 Facebook 공유 버튼 (자신의 텍스트, 제목 및 이미지 포함)을 얻는 유일한 방법은 Facebook SDK를 사용하는 것입니다.
라이언 Coolwebs

훌륭한 솔루션 if( window.open(.....) ) event.preventDefault();은`return false; ˙ 대신 현대적으로 만드는 것입니다 ! -이렇게하면 창이 열렸을 때만 기본 동작 (링크 열기)을 방지합니다
그렇지

12

IJas에서 제공하는 링크에서 파생 된이 기능을 사용하십시오.

function openFbPopUp() {
    var fburl = '';
    var fbimgurl = 'http://';
    var fbtitle = 'Your title';
    var fbsummary = "your description";
    var sharerURL = "http://www.facebook.com/sharer/sharer.php?s=100&p[url]=" + encodeURI(fburl) + "&p[images][0]=" + encodeURI(fbimgurl) + "&p[title]=" + encodeURI(fbtitle) + "&p[summary]=" + encodeURI(fbsummary);
    window.open(
      sharerURL,
      'facebook-share-dialog', 
      'width=626,height=436'); 
    return  false;
}

또는보다 제어 된 콜백 함수를 위해 FB JavaScript SDK를 사용하는 경우 최신 FB.ui 함수를 사용할 수도 있습니다.

참조 : FB.ui

    function openFbPopUp() {
        FB.ui(
          {
            method: 'feed',
            name: 'Facebook Dialogs',
            link: 'https://developers.facebook.com/docs/dialogs/',
            picture: 'http://fbrell.com/f8.jpg',
            caption: 'Reference Documentation',
            description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
          },
          function(response) {
            if (response && response.post_id) {
              alert('Post was published.');
            } else {
              alert('Post was not published.');
            }
          }
        );
    }

이 FB.ui는 아마도 가장 안정적인 접근 방식 일 것입니다. 또한 나머지 자바 스크립트와 함께 페이지 하단에이 스크립트를로드하고 jquery 변수 / 선택기에 값으로로드 할 수 있습니다. 게시 해 주셔서 감사합니다.
klewis

@blackhawk ...하지만 FB.ui에는 app_id도 필요합니다. 항상 옵션은 아닙니다 ... :)
jave.web

@Bravesh B 링크 한 FB.ui와 관련된 문서를 검색하면 그림, 캡션, 설명과 같이 FB.ui에 전달한 매개 변수를 찾을 수 없습니다. 어디에서 찾았는지 말씀해 주시겠습니까?
Ferex

@Ferex 당신은 여기에서 매개 변수를 찾을 수 있습니다 developers.facebook.com/docs/sharing/reference/feed-dialog
Bhavesh B

1
2017 년 4 월 18 일부터 다음 매개 변수는 Graph API 버전 2.9 이상에서 더 이상 지원되지 않습니다. 버전 2.8 이하의 경우 매개 변수는 2017 년 7 월 17 일까지 계속 작동합니다.
Goran Jakovljevic

9

몇 가지 옵션이 있습니다.

  1. 표준 FB 공유 버튼을 사용하고 Open Graph API 및 페이지의 메타 태그를 통해 텍스트를 설정합니다 .
  2. Share 대신 FB.ui 의 stream.publish 메서드를 사용하면 런타임 에 URL, 제목, 캡션, 설명 및 썸네일을 제어 할 수 있습니다.
  3. 또는 적절한 매개 변수와 함께 http://www.facebook.com/sharer.php 를 사용 하십시오 .

2
후자에 대해 자세히 설명 할 수 있습니까? 이 매개 변수는 무엇입니까?
Jeroen Vannevel

6

Facebook에서 제공하는 비동기 JavaScript SDK를 사용하고 해당 매개 변수 값을 설정하여 Facebook 공유 대화 상자를 사용자 지정할 수 있습니다.

다음 코드를 살펴보십시오.

<script type="text/javascript">
  $(document).ready(function(){
    $('#share_button').click(function(e){
      e.preventDefault();
      FB.ui(
        {
          method: 'feed',
          name: 'This is the content of the "name" field.',
          link: 'URL which you would like to share ',
          picture: ‘URL of the image which is going to appear as thumbnail image in share dialogbox’,
          caption: 'Caption like which appear as title of the dialog box',
          description: 'Small description of the post',
          message: ''
        }
      );
    });
  });
</script>

아래 코드를 복사하여 붙여 넣기 전에 먼저 SDK를 초기화하고 jQuery 라이브러리를 설정해야합니다. 하시기 바랍니다 여기를 클릭하여 같은 설정 정보에 단계별로하는 방법을 알고.


3

이것은 현재 솔루션 (2014 년 12 월)이며 매우 잘 작동합니다. 그것은 특징

  • 팝업 창 열기
  • 자체 포함 된 스 니펫, 다른 것은 필요하지 않음
  • JS 유무에 관계없이 작동합니다. JS가 비활성화 된 경우 작은 팝업이 아니지만 공유 창이 계속 열립니다.

<a onclick="return !window.open(this.href, 'Share on Facebook', 'width=640, height=536')" href="https://www.facebook.com/sharer/sharer.php?u=href=$url&display=popup&ref=plugin" target="_window"><img src='/_img/icons/facebook.png' /></a>

$ url var는 공유 할 URL로 정의되어야합니다.


내 페이지가 https로 시작하는 경우에는 작동하지 않습니다 ...?
d4v1dv00 2015

1
페이스 북은 공유기에 다른 매개 변수를 지원 중지로이 답변은 이제 유효하지 않습니다
Vikrant


-2

AllisonC의 아이디어를 window.open기능 과 결합 할 수 있습니다. http://www.w3schools.com/jsref/met_win_open.asp

function openWin(url) {
    myWindow = window.open(url, '', 'width=800,height=400');
    myWindow.focus();
}

그런 다음 각 링크에서 올바른 소셜 네트워크 URL로 openWin 함수를 호출합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.