Невозможно вызвать функцию внутри плагина jQuery для события входа в Facebook - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь создать плагин jQuery, который запросит appID и создаст для пользователя опцию входа в Facebook.

Мой код:

; (function($){
$.fn.fbLogin = function(options){
    var defaults = {
        appId: ''
    };

    var opt = $.extend(defaults, options);
    var fbRoot = "<div id='fb-root'></div>";
    var fbSdkLoad = "<script async defer crossorigin='anonymous' src='https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.3&appId=" + opt.appId + "&autoLogAppEvents=1'></script>";

    var fbLoginButton = `<div
        class="fb-login-button"
        data-width=""
        data-size="large"
        data-button-type="login_with"
        data-auto-logout-link="false"
        data-use-continue-as="true"
        data-scope="email"
        data-onlogin="loginFB();"
    />`;

    $("body").append(fbRoot);
    $("body").append(fbSdkLoad);
    $("body").append(fbLoginButton);

    function loginFB(){
        console.log("yes");
    }
}
})(jQuery);

, когда я загружаю этот плагин в свой файл index.html, тогда загружается кнопка «Войти через Facebook».Когда я щелкаю по нему, появляется всплывающее окно, а затем я получаю следующую ошибку в моей консоли разработчика:

Uncaught ReferenceError: loginFB is not defined

Когда я добавляю функцию loginFB в index.html в сценарии, она работает, что имеет смысл какКнопка входа в систему находится в области видимости тела и может вызывать функцию.

Но я хочу иметь функцию, которая будет выполнять некоторую работу после входа в систему, которая должна оставаться внутри функции плагина.

Может кто-нибудь предложить мне лучший подход к этому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...