我正在创建一个具有g共享按钮的页面,但我想动态更改要共享的内容的描述.自定义共享按钮我正在使用
snippet与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="..." />
$('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) {}
有谁知道如何使它工作?
编辑:
按钮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();
解决方法
页面的代码段是通过服务器端获取页面生成的.页面提取程序不执行JavaScript.这就是您对该元素所做的更改未在您的共享中表达的原因.
您可以使用get参数并指定目标来解决此问题.
>将页面配置为接受描述为GET参数.例如,http://exmaple.com?desc=foobar会导致您的Open Graph标记看起来像这样:< Meta property =“og:description”content =“foobar”/>>渲染共享链接,共享按钮或1按钮时,使用GET参数指定具有所需描述的页面.对于共享按钮,您的标记可能如下所示:< div class =“g-plus”data-action =“share”data-href =“http://example.com/?desc=foobar”>< ; / DIV> 然而,这将影响计数.如果您将此技术与1按钮一起使用,则每个描述将被视为不同的页面,并且计数将单独累积.