我的制作网站位于:http://infinite-brushlands-3960.herokuapp.com/
我按照此处的说明设置了javascript SDK:https://developers.facebook.com/docs/javascript/quickstart/v2.5
当用户点击"分享此附表"时,将运行以下代码:
ExifInterface ei = new ExifInterface(photoPath);
int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
switch(orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotateImage(bitmap, 90);
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotateImage(bitmap, 180);
break;
// etc.
}
但是尽管将facebook按钮的data-href属性设置为我想要分享的网址(如此处所述https://developers.facebook.com/docs/plugins/share-button),但点击该按钮仍会将我的主页共享给facebook我在那里指定的链接。检查浏览器检查器中的按钮显示它确实具有正确的url作为data-href属性。
为什么插件没有共享正确的网址?
答案 0 :(得分:1)
由于您要更改ajax加载上的按钮网址,因此您必须在更改属性后重新初始化Facebook共享按钮。
尝试将此添加到成功回调的结尾
FB.XFBML.parse();
所以你应该有像
这样的东西$('#share_schedule').click(function(){
if ($('#share_url_ul').children().length >= 1){
$('#share_url_ul').empty();
}
// Take care of no classes case "You cannot share an empty schedule."
$.ajax({
method: "POST",
url: "/share/",
data: JSON.stringify(localStorage),
contentType: "application/json; charset=utf-8",
dataType: "text",
success: function(response){
var shared_url = document.createElement('a');
$(shared_url).css('display', 'block');
$(shared_url).attr('href', window.location.href + 'shared/' + response);
$(shared_url).attr('id', 'share_link');
shared_url.innerHTML = window.location.href + 'shared/' + response;
$('#share_url_ul').append(shared_url);
$('#fb_share_btn').attr('data-href', window.location.href + 'shared/' + response);
FB.XFBML.parse();
},
error: function(error){
console.log(error);
}
});
});