通过Twitter卡将用户生成的图像分享到Twitter

时间:2016-12-05 20:40:49

标签: javascript jquery image twitter

我正在尝试实现一个按钮,当点击该按钮时,在Twitter上共享动态创建的图像。我目前有一些功能可以将我在页面上的图像发送给imgur进行托管,并返回一个指向该图像的URL - 这样做效果很好。

我正在尝试通过jQuery将该图片网址发送到<meta name="twitter:image">,以便在Twitter上分享,但在生成的推文中没有显示任何内容。另外,当我检查

$('meta[name="twitter:image"]').attr("content");

在控制台中,我得到了我最初分配的空字符串 - 从imgur返回的图像URL永远不会被分配到那里。

以下是我的元标记:

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@mytwitterhandle">
<meta name="twitter:creator" content="@mytwitterhandle">
<meta name="twitter:title" content="mytitle">
<meta name="twitter:description" content="mycontent">
<meta name="twitter:image" content="">

这是我的JavaScript,它生成图像,将其发送到imgur,然后返回URL:

$('body').on('click','.twitter-share-button',function(e){
   var svg = $("#svg")[0];

svg.toDataURL("image/png", {
    callback: function(img) {
    var img = img.replace("data:image/png;base64,", "");
    var imgurTitle = $("meta[property='og:title']").attr("content");

    $.ajax({ 
        url: 'https://api.imgur.com/3/image',
        headers: {'Authorization': 'Client-ID ***********'},
        type: 'POST',
        data: {'image': img, 'type': 'base64', 'title': imgurTitle},
        success: function(result) { 
          NEWIMAGEURL = result.data.link;
           $('meta[name=twitter:image]').attr("content", NEWIMAGEURL);

      },
      error: function () {
           console.log('error');
          }
    });

  }
})

e.preventDefault();
});

这就是我在HTML按钮中的内容:

<a class='twitter-share-button' 
      href='https://twitter.com/intent/tweet'>
    Tweet</a>
              <button id='note'>(enable pop-ups)</button>

非常感谢任何建议/指导!!!

0 个答案:

没有答案