2014-01-19 2 views
14

У меня есть динамическая страница с переписанным URL. Я хочу добавить в нее кнопку общего доступа к facebook. Таким образом, пользователи, нажав на кнопку совместного доступа, могут открыть страницу. Но на странице разработчиков sharebook на facebook запрашивается конкретный URL-адрес. Не уверен, как делиться динамически созданным URL-адресом.Facebook Share Button for Dynamic Url

Вот код, который я нашел для захвата URL. Но я не знаю, как включить это в код facebook.

jQuery(document).ready(function() { 
    var href = jQuery(location).attr('href'); 
    var url = jQuery(this).attr('title'); 
    jQuery('#current_title').html(href); 
    jQuery('#current_url').html(url); 
}); 

HTML Часть Facebook Share Button

<div class="fb-share-button" data-href="http://developers.facebook.com/docs/plugins/" data-type="button"></div> 

Просьба помочь

Большое спасибо

ответ

3

Вы можете получить URL-адрес, используя

var href = window.location

вы можете получить заголовок страницы не используя

var title = document.title

Нет необходимости использовать JQuery для тех простых задач.

Чтобы динамическая кнопка обмена FB была динамической, вам придется либо перезагрузить, либо отредактировать ее атрибуты данных в соответствии с текущими значениями. Кроме того, после быстрого просмотра документов для кнопки совместного доступа GB, нет возможности установить заголовок только для HREF. Документы можно найти here.

Так для примера, после того, как вы измените URL, а также запустить следующий код:

jQuery(document).on('ready', function($){ 
    var url = window.location; 
    $('.fb-share-button').attr('data-href', url); 
}); 
+0

Спасибо за поддержку и быстрый ответ. Здесь доля Кнопка Код сгенерирован FB ..

Gops

+0

Мне нужна только часть html, а не сценарий. Также заверните свой код в ', чтобы отформатировать его правильно. – MichaelJames

+0

Привет, MJ, я только что обновил свой запрос .. это то, что вы ищете. Пожалуйста, верните – Gops

21

Это работало для меня:

<script language="javascript"> 
    function fbshareCurrentPage() 
    {window.open("https://www.facebook.com/sharer/sharer.php?u="+escape(window.location.href)+"&t="+document.title, '', 
    'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600'); 
    return false; } 
</script> 

Затем вызовите код со ссылкой:

<a href="javascript:fbshareCurrentPage()" target="_blank" alt="Share on Facebook">Facebook</a> 

Если вы хотите, чтобы это была прямая ссылка вместо открытия в окне, используйте это в функции:

window.location.href="https://www.facebook.com/sharer/sharer.php?u="+escape(window.location.href)+"&t="+document.title; 


Возможное решение JQuery:

<a class="fbsharelink" data-shareurl="YOURLINK">Facebook</a> 

$('.fbsharelink').click(function() 
{ 
    var shareurl = $(this).data('shareurl'); 
    window.open('https://www.facebook.com/sharer/sharer.php?u='+escape(shareurl)+'&t='+document.title, '', 
    'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600'); 
    return false; 
}); 
+0

Это простое решение, позволяющее мне пропустить все шаги настройки FB SDK JS. При использовании localhost я заметил, что он не использует URL-адрес или заголовок, который я бы попытался ему дать .. он просто покажет «Localhost» для заголовка и URL-адреса. Я должен был загрузить его, чтобы увидеть, как он распознает фактический домен и заголовок страницы. В любом случае .. очень круто - Спасибо! – gnB

9

Не вводите ничего в URL «Удалить существующую ссылку (https://developers.facebook.com/docs/plugins/), а также и включают в себя код на вашей странице, как вы обычно делаете.

Как кнопки или доля будет забрать ссылку на текущей странице

+0

это не работает – Jayz

+2

работает для меня. caveat: он захватывает URL-адрес при загрузке страницы, поэтому, если вы имеете дело с нажатием кнопки, он не будет забирать URL-адрес во время щелчка. – tjmcewan

+0

Работает для меня тоже –

4

Используйте это, чтобы иметь апи Facebook, повторный анализ вашей страницы

FB.XFBML.parse(); 
-1

Я думаю, что самое простое решение это одна.И это работает для самых сложных URL-адресов, скажем, это ваш URL

http://dramatainment.com/videos.php?v=000014 

Это, как вы измените ваш facebook код кнопки доля

<div class="fb-share-button" data-href="http://dramatainment.com/videos.php?v=<?php echo $v; ?>" data-layout="button" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fdramatainment.com%2Fvideos.php&amp;src=sdkpreparse">Share</a></div> 

Просто добавил динамический URL как этот

data-href="http://dramatainment.com/videos.php?v=<?php echo $v; ?>" 
+1

Я понимаю первую часть, которую вы изменили, но вы меняете вторую часть? href = ""? – NewPassionnate

+1

Я просто переписал часть, которую я изменил, часть данных-href. –