webentwicklung-frage-antwort-db.com.de

Facebook Share Button für Dynamic Url

Ich habe eine dynamische Seite mit umgeschriebener URL. Ich möchte einen Facebook Share Button hinzufügen. So können Benutzer, die auf die Schaltfläche "Freigeben" klicken, die Seite freigeben. Auf der Entwicklerseite für Facebook-Freigaben wird jedoch eine bestimmte URL angefordert. Nicht sicher, wie dynamisch generierte URL freigegeben werden soll.

Hier ein Code, den ich gefunden habe, um die URL zu erfassen. Aber ich weiß nicht, wie ich das in Facebook-Code einfügen soll.

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 Teil des Facebook Share Buttons

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

Freundlich helfen

Danke vielmals

18
Gops

Das hat bei mir funktioniert:

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

Rufen Sie dann den Code mit einem Link auf:

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

Wenn Sie möchten, dass es ein direkter Link ist, anstatt in einem Fenster zu öffnen, verwenden Sie dies in der Funktion:

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


Mögliche Abfragelösung:

<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;
});
25
wentz

Geben Sie nichts in die URL 'Löschen Sie den vorhandenen Link ( https://developers.facebook.com/docs/plugins/ ) und fügen Sie den Code wie gewohnt in Ihre Seite ein.

Die Schaltfläche "Gefällt mir" oder "Teilen" zeigt den Link Ihrer aktuellen Seite an

10
Ankush Dhiman

Verwenden Sie diese Option, damit die API von Facebook Ihre Seite repariert

  FB.XFBML.parse();
5
Adam Greene

Sie können die URL mit erhalten

var href = window.location

den Seitentitel erhalten Sie mit

var title = document.title

Für diese einfachen Aufgaben muss jQuery nicht verwendet werden.

Um die FB-Freigabetaste dynamisch zu machen, müssen Sie entweder die zugehörigen Datenattribute neu laden oder bearbeiten, um sie an die aktuellen Werte anzupassen. Auch nach einem kurzen Blick auf die Dokumente für die GB-Freigabeschaltfläche gibt es keine Option, den Titel nur als HREF festzulegen. Dokumente finden Sie hier .

Führen Sie für Ihr Beispiel nach dem Ändern der URL auch den folgenden Code aus:

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

Ich denke, die einfachste Lösung ist diese. Und es funktioniert für die komplexesten URLs. Nehmen wir an, dies ist Ihre URL

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

So ändern Sie Ihren Facebook Share Button Code

<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>

Fügte gerade die dynamische URL so hinzu

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