Frage

wie kann ich das ändern das href-Attribut meiner google +1-Schaltfläche über einige jQuery

Die Taste zunächst lädt mit einem leeren href.

hier ist, was ich bisher versucht habe

$(document).ready(function () {
    var qrCode = 'A12345';
    var shareLink = "http://<?php echo $_SERVER['HTTP_HOST'];?>/show.php?qrCode="+qrCode;
    $("#shareLink").attr("href", shareLink);
});

<g:plusone size='medium' id='shareLink' annotation='none' href='' callback='countGoogleShares'></g:plusone>
War es hilfreich?

Lösung 2

Ich habe es endlich so arbeiten, wie ich wollte.Ich restrukturierte den code ein wenig, um es zu bekommen zu arbeiten.Anstatt zu versuchen, ändern Sie das href-Attribut auf Dokument.bereit, ich landete einen leeren div-der container für den google plus-button und schreiben Sie die Taste mit der richtigen href via .html()

//load the google plus javascript api
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
    {"parsetags": "explicit"}
</script>

//create an empty div to be the target of the google plus button
<div id="plusContent"></div>

<script>
    //get the qrcode to append to the url (ajax call in real life)
    var qrCode = 'A12345';

    //build the google plus object text string
    var googleShareLink = "<g:plusone size='medium' id='shareLink' class='shareLink'  annotation='none' href='http://<?php echo $_SERVER['HTTP_HOST'];?>/show.php?qrCode="+qrCode+"' callback='countGoogleShares'></g:plusone>";

    //write the google plus object to the target div
    $("#plusContent").html(googleShareLink);

    //render the +1 buttons in the target location
    gapi.plusone.go("plusContent");
</script>

Andere Tipps

Verwenden Sie die JSAPI zu explizit gerendert der +1-Schaltfläche innerhalb der jQuery-Funktion, nachdem Sie den href -.

Wählen Sie das Tag mit JQuery's ".Next ()" -Funktion aus. Sie müssen nur kurz vor dieser Schaltfläche ein wählbares Tag einstellen.

Warum willst du das tun?

Sie müssten die HTML nicht in einer JS -String haben.

ich erschuf eine Seite Ähnlich, wo ich ein Div erstellt habe, und darin platze ich mein G: Plusone -Tag. Ich habe die URL als Attribut im DIV als "Data-URL" eingestellt, aber das müssten Sie hier nicht tun.

<div class="plusoneContent" data-url="http://www.adamkoch.com/2012/05/04/moz-proxy-issues/">
<g:plusone></g:plusone>
</div>

Dann nenne ich Gapi.plusone.render und gehe in die URL vorbei:

var url = $(this).data('url');
gapi.plusone.render(this, {href: url});

Ich habe den folgenden Code verwendet, der korrekt funktioniert:

<script type="text/javascript" src="http://apis.google.com/js/plusone.js">
</script>
<div id="plusone-div" class="plusone"></div>
<script type="text/javascript">
    gapi.plusone.render('plusone-div',{"size": "medium", "count": "true", "href": "[http://MySite.Com/]"});
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top