Измените href кнопки Google +1 с помощью jquery.
-
26-10-2019 - |
Вопрос
как я могу изменить атрибут href моей кнопки Google +1 с помощью jQuery
Кнопка изначально загружается с пустым href.
вот что я пробовал до сих пор
$(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>
Решение 2
Наконец-то я добился того, чтобы все работало так, как я хотел.Я немного реструктурировал код, чтобы он работал.Вместо того, чтобы пытаться изменить атрибут href в document.ready, я создал пустой div, который будет контейнером для кнопки Google Plus, и написал кнопку с правильным href через .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>
Другие советы
Используйте JSAPI, чтобы явно отображать кнопку +1 в функции jQuery после установки href.
Выберите тег, используя функцию jQuery's ".next ()". Вам просто нужно поместить выбираемый тег непосредственно перед этой кнопкой.
почему ты хочешь сделать это?
Вам не нужно будет иметь HTML в строке JS.
я создал страница Похоже, где я создал Div, и внутри я поместил свой тег G: Plusone. Я поместил URL в качестве атрибута в Div как «Data-Url», но вам не пришлось бы это делать здесь.
<div class="plusoneContent" data-url="http://www.adamkoch.com/2012/05/04/moz-proxy-issues/">
<g:plusone></g:plusone>
</div>
Тогда я звоню Gapi.plusone.render и передаю URL:
var url = $(this).data('url');
gapi.plusone.render(this, {href: url});
Я использовал следующий код, который работает правильно:
<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>