我正在尝试实现一个按钮,当点击该按钮时,在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>
非常感谢任何建议/指导!!!