Загрузите общий доступ к Facebook в модальном, а не в веб-приложении GoNative. - PullRequest
0 голосов
/ 17 октября 2019

В настоящее время я поддерживаю приложение 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, чтобы узнать, загружено ли приложение через приложение или обычную веб-страницу, и обработать общий доступ. иначе, но это тоже не правильно.

...