Я пытаюсь создать плагин 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 в сценарии, она работает, что имеет смысл какКнопка входа в систему находится в области видимости тела и может вызывать функцию.
Но я хочу иметь функцию, которая будет выполнять некоторую работу после входа в систему, которая должна оставаться внутри функции плагина.
Может кто-нибудь предложить мне лучший подход к этому?