的谷歌Plusone精选代码如下所示:<g:plusone size="medium"></g:plusone>
Grails和谷歌Plusone精选
不幸的是,在Grails的世界, “G:” 被保留。
我相信你可以修改Grails库,但我正在寻找一个更简单的方法。 我该如何简单地让Grails不要把这个字符串分开?
的谷歌Plusone精选代码如下所示:<g:plusone size="medium"></g:plusone>
Grails和谷歌Plusone精选
不幸的是,在Grails的世界, “G:” 被保留。
我相信你可以修改Grails库,但我正在寻找一个更简单的方法。 我该如何简单地让Grails不要把这个字符串分开?
我会回答我的问题,并给向Quentin发表了评论,但没有写出答案(如果您发布答案,我会选择您作为正确答案)。
有一个HTML版本:
<div class="g-plusone" data-size="medium"></div>
那么,唯一的解决方案是更改您正在使用的taglib。
如果您使用的标签库,你必须做的唯一的事情是添加静态属性命名命名空间你想要的名称,如下面的例子:
static namespace = google1
或者你可以在你的GSP文件输出这样的:
${'<g:plusone annotation="inline" href="http://www.anythinggoeshere_xyz.com"></g:plusone>'}
在taglib solution by James Williams大楼,我才得以呈现+1按钮这个标签库,这是我在我的标签库文件夹命名GooglePlusOneTagLib.grooovy:
class GooglePlusOneTagLib {
def plusone = { attrs, body ->
out << "<g:plusone "+(attrs.size ? "size=${attrs.size}" : "") +"></g:plusone>"
}
def plusoneScript = { attrs, body ->
out << '''<script type="text/javascript">
(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);
})();
</script>'''
}
}
和则y OU只使用这些标签在你的GSP
<g:plusone size="medium"></g:plusone>
<g:plusoneScript />
看完之后,我更喜欢纯粹的HTML解决方案(http://stackoverflow.com/a/7219746/421356),但我会离开我的,因为它仍然有效。 –
为什么不使用[HTML代码+1(http://code.google.com/apis/+1button/),而不是无效的,伪命名空间, XMLish版本? – Quentin
我不知道HTML版本,现在测试它,你应该回答 –
你是什么意思'g:'是保留的?对于taglib命名空间? –