Php 动态Google plus one+;1个按钮(带有更改的url)
我有一个带有照片库的网站,我希望plus-one按钮指向照片页面,而不是图片库本身,这意味着当用户浏览图像时,我需要动态更改它。正确的方法是什么?来自: 设置+1目标URL +1'd的URL按以下顺序确定:Php 动态Google plus one+;1个按钮(带有更改的url),php,javascript,web,google-plus,google-plus-one,Php,Javascript,Web,Google Plus,Google Plus One,我有一个带有照片库的网站,我希望plus-one按钮指向照片页面,而不是图片库本身,这意味着当用户浏览图像时,我需要动态更改它。正确的方法是什么?来自: 设置+1目标URL +1'd的URL按以下顺序确定: 按钮的href属性 此属性显式定义+1目标URL 页面的标签 如果没有提供+1按钮的href属性,Google将使用页面的规范URL。有关定义页面的规范URL的更多信息,请参阅本帮助文章 document.location.href提供的URL,不推荐使用。 如果这些项目都不存在,Googl
<div class="single-photo">
<img/>
<a href="http://single.photo.com/path">My photo</a>
</div>
添加+1按钮的最简单方法是:
<div class="single-photo">
<img/>
<a href="http://single.photo.com/path">My photo</a>
<div class="g-plusone" data-href="http://single.photo.com/path" data-other-parameter="other-parameter-value"></div>
</div>
通过创建显式呈现的按钮并更改规范链接的href,解决了此问题。如果没有为按钮提供url,它将从规范链接属性获取其url,然后通过重新呈现它,我可以使它每次指向不同的url。在head标记中写入以下内容:
// Load +1 script
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
HTML代码:
<div id="plusone_container">
</div>
并将此jQuery写入要设置+1按钮url的任何位置:
$("#plusone_container").html('<div id="plusone"></div>');
gapi.plusone.render("plusone", { "href": "Your URL" });
$(“#plusone_容器”).html(“”);
render(“plusone”,{“href”:“您的URL”});
我阅读了文档,但是如果我已经有一个按钮从上面的方法之一获取了它的url,我将如何更改它指向的url以响应用户浏览图像?您如何呈现该按钮?有两种不同的选择。您使用的是哪一个?我不确定我是否完全理解您的意思,但我希望使用显式呈现的Javascript呈现它,但不更改页面的规范href。但是,同样,如果有一种特定的方式来渲染它,使它更容易动态更改,那么这就是我将如何渲染它…看看更新的答案。我假设您可以轻松地为每个图像生成路径和url。这样做比使用javascript更容易。答案仍然成立。只需使用类似完整解决方案解释的内容即可获得完整的url。根据文档,您应该能够调用render方法并在data href中传递url。这对我不起作用-它总是停留在页面上的第一个。但是,如果我在每次渲染之前动态更改规范url,并且根本不传递数据href,我可以让它使用新的url。