Question

Comment puis-je modifier l'attribut href de mon bouton Google +1 via un jQuery

Le bouton charge initialement avec un vide href.

Voici ce que je l'ai essayé jusqu'à présent

$(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>
Était-ce utile?

La solution 2

Je l'ai finalement obtenu de travailler comme je le voulais. Je restructuré un peu le code pour faire fonctionner. Au lieu d'essayer de changer sur l'attribut href sur document.ready, je fini par créer un vide div être le conteneur pour le google plus le bouton et l'écriture sur le bouton avec le bon 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>

Autres conseils

Utilisez le JSAPI rendre explicitement le + 1 bouton dans la fonction jQuery après avoir défini le href.

Sélectionnez l'étiquette à l'aide jquery ".next ()" fonction. Vous avez juste besoin de mettre une étiquette sélectionnable juste avant ce bouton.

Pourquoi voulez-vous faire?

Vous auriez pas besoin d'avoir le code HTML dans une chaîne JS.

Je créé la page similaire où je créé un div et à l'intérieur de celui-ci, je mets ma g: tag plusone . Je mis l'URL comme un attribut dans la div comme « data-url », mais vous ne seriez pas le faire ici.

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

Alors je fais appel gapi.plusone.render et passer dans l'URL:

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

Je l'ai utilisé le code suivant qui fonctionne correctement:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top