В настоящее время я поддерживаю приложение GoNative, и мне нужно исправить ошибку, из-за которой при нажатии на кнопку «Поделиться в Facebook» открывается окно общего доступа внутри приложения, а не перенаправление в окно браузера.
Код facebook-share.js:
function shareOnFacebook(obj) {
var data = $(obj).data();
if (data.url) {
runFacebookShare(data);
}
else {
$.ajax({
method: "GET",
url: data.geturl,
success: function (model) {
$(obj).data("url", model.Url);
$(obj).data("title", model.Title);
$(obj).data("description", model.Description);
$(obj).data("image", model.Image);
runFacebookShare($(obj).data());
},
error: function (e, x, m) {
console.log(e, x, m)
}
});
}
function runFacebookShare(data) {
initFaceBook();
FB.ui(
{
app_id: data.facebookappid,
method: 'share_open_graph',
action_type: 'og.shares',
action_properties: JSON.stringify({
object: {
'og:url': data.url,
'og:title': data.title,
'og:description': data.description,
'og:image': data.image
}
})
});
}
}
Глядя на последнюю документацию, кажется, что это довольно «старый» способ сделать это. Есть ли лучший способ, так как я не работал с этим раньше?
Я хотел изначально добавить if..statement, чтобы узнать, загружено ли приложение через приложение или обычную веб-страницу, и обработать общий доступ. иначе, но это тоже не правильно.