Ändern Sie die href der google +1-Schaltfläche verwenden von jquery
-
26-10-2019 - |
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>
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>