嗨,大家好,我在这个项目的最后一步,我已经在服务器端保存了我的Canvas图像,并希望现在能够更改Facebook的共享缩略图。以下是共享部分的代码。
jQuery(document).ready(function($){
//Share the current Canvas Image to Facebook
jQuery(document).on('click','#poster',function(e){
e.preventDefault();
/*Save to server*/
var canvas = document.getElementById("c");
var imageData = canvas.toDataURL("image/png");
$.ajax({
type: "POST",
url: rkax.ajaxurl,
data: {
action: 'raketrad_save_to_server',
imgBase64: imageData
}
}).done(function(img_url) {
console.log(img_url);
$('body').append('<meta property="og:image" content="'+img_url+'" />');
FB.ui({
method: 'share',
href: window.location.href,
}, function(response){});
});
我发现即使将meta属性附加到页面上也是如此。 Facebook仍然采用默认网址。我该怎么做呢?
答案 0 :(得分:2)
我无法获得分享功能,但是Feed对我有用
FB.ui({
method: 'feed',
link: window.location.href,
picture: img_url,
}, function(response){});
希望这可以帮助其他人寻找类似的东西
答案 1 :(得分:0)
在本地浏览器版本上添加opengraph元标记不起作用,因为facebook抓取工具会刮掉页面的“服务器版本”。作为'raketrad_save_to_server'
操作的一部分,您应该做的是在服务器上存储相应的信息,以便在传递给FB.ui/share
方法的网址上提供的页面将包含正确的元属性。