将文字设置为谷歌+分享按钮

Mig*_*ges 7 javascript share code-snippets opengraph google-plus

我正在创建一个具有g + share按钮的页面,但我想动态更改要共享的内容的描述.自定义共享按钮我正在使用Open Graph协议的代码段.

我尝试的解决方案如下,但它无法正常工作:

<meta property="og:title" content="O Fabuloso Gerador De Lero Lero v3" />
<meta property="og:image" content="images/robot.png" />
<meta property="og:description" content="..." />
Run Code Online (Sandbox Code Playgroud)
$('meta[property="og:description"]').attr('content',text);

var shareButtons = $('div:first','section.share-buttons');
shareButtons.html('');
shareButtons
    .prepend('<a href="https://twitter.com/share" class="twitter-share-button" data-text="' + text.trunc(120,true) + '" data-url="http://goo.gl/1KHFM" data-lang="pt">Tweetar</a>')
    .prepend('<div class="g-plus" data-action="share" data-href="http://lerolero.miguelborges.com/t=' + new Date().getTime() + '" data-annotation="bubble"></div>');

try {
    window.twttr.widgets.load();
    window.gapi.plus.go();
} catch(e) {}
Run Code Online (Sandbox Code Playgroud)

但是,分享按钮中的描述内容始终是初始的.

有谁知道如何使它工作?

编辑:

按钮twitte我有同样的问题,但设法解决这个问题:

        shareButtons
            .prepend('<a href="https://twitter.com/share" class="twitter-share-button" data-text="' + text.trunc(120,true) + '" data-url="http://goo.gl/1KHFM" data-lang="pt">Tweetar</a>');

        window.twttr.widgets.load();
Run Code Online (Sandbox Code Playgroud)

mim*_*ing 2

页面的代码片段是通过服务器端获取页面而生成的。页面获取器不执行 JavaScript。这就是您对该元素所做的更改未在您的共享中表达的原因。

您可以使用获取参数并指定目标来解决此问题。

  1. 配置您的页面以接受描述作为 GET 参数。例如,http://exmaple.com?desc=foobar将使您的开放图谱标签看起来像这样:<meta property="og:description" content="foobar" />
  2. 当您呈现共享链接、共享按钮或 +1 按钮时,使用 GET 参数指定的所需描述来定位页面。对于共享按钮,您的标记可能如下所示:<div class="g-plus" data-action="share" data-href="http://example.com/?desc=foobar"></div>

然而,这会影响计数。如果您将此技术与 +1 按钮一起使用,则每个描述将被视为不同的页面,并且计数将单独累积。