首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GWT中嵌入google-plus

在GWT中嵌入google-plus
EN

Stack Overflow用户
提问于 2012-08-30 01:19:12
回答 3查看 1.2K关注 0票数 2

我正在尝试将Google-Plus嵌入我的GWT应用程序中。我希望它能嵌入到HorizontalPanel中。我确实读过+1button developers google。我在stackoverflow中没有找到任何关于这个问题的帖子。我的问题可能是我不知道如何将js包含到GUI组件中。我希望有一个例子来说明如何将Google+代码添加到面板中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-30 13:16:21

下面是如何做的:

文档:

代码语言:javascript
复制
 <!-- Place this tag in your head or just before your close body tag -->
 <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
 <!-- Place this tag where you want the +1 button to render -->
 <g:plusone></g:plusone>

在GWT中:

代码语言:javascript
复制
private void drawPlusOne() {
    String s = "<g:plusone href=\"http://urltoplusone.com\"></g:plusone>";
    HTML h = new HTML(s);
    somePanel.add(h);

    // You can insert a script tag this way or via your .gwt.xml
    Document doc = Document.get();
    ScriptElement script = doc.createScriptElement();
    script.setSrc("https://apis.google.com/js/plusone.js");
    script.setType("text/javascript");
    script.setLang("javascript");
    doc.getBody().appendChild(script);
  }
票数 5
EN

Stack Overflow用户

发布于 2012-08-30 01:28:26

我个人从未在GWT中嵌入+1按钮,但链接的文章似乎不言而喻。

在“简单按钮”一节中,它指出实现GooglePlus集成的最简单方法是添加以下内容:

代码语言:javascript
复制
<script src="https://apis.google.com/js/plusone.js" />
<g:plusone></g:plusone>

首先,应该在.gwt.xml文件中包含<script>标记。

然后我会像这样实现<g:plusone></g:plusone>

代码语言:javascript
复制
public class GPlusOne extends SimplePanel {
    public GPlusOne () {
        super((Element)Document.get().createElement("g:plusone").cast());
    }
}

(请注意,这段代码未经测试,但它基于一个简单的概念,即SimplePanel可以扩展为编译为任何HTML元素。)

然后,您可以在希望按钮显示的任何位置使用新的GPlusOne元素。

票数 0
EN

Stack Overflow用户

发布于 2014-05-04 01:40:10

我找到了一个更好的方法:

遵循这个例子,让按钮在一个普通的html页面上的调用上工作(你可以在这里尝试一个http://jsfiddle.net/JQAdc/)

代码语言:javascript
复制
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script src="https://apis.google.com/js/plusone.js">
    {"parsetags": "explicit"}
</script>
<script type="text/javascript">
    function gPlusBtn(id, params) {
        /* window.alert("searching for "+ id +" with params: "+ params) */
        paramsObj = eval( '('+params+')' );
        gapi.plusone.render(id, paramsObj );
    }
// params is here just for a reference to simulate what will come from gwt
 params = '{href:"http://1vu.fr", size:"tall"}';

</script>
</head>

<body>
taken from http://jsfiddle.net/JQAdc/
    <div id="gplus" />
    <button onclick="gPlusBtn('gplus', params)">show!</button>
</body>
</html>

然后,您可以调用本机方法在活动开始时触发按钮显示(如果您使用的是MVP)。

代码语言:javascript
复制
protected native void plusOneButton(String id, String params) /*-{
    $wnd.gPlusBtn(id, params);
}-*/;

你可以有多个按钮与不同的urls,这就是为什么id作为一个参数。

注意:对我来说,原始的超文本标记语言在本地主机上工作,但GWT版。我必须部署到服务器才能看到结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12183263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档