簡體   English   中英

如何禁用react-facebook-login彈出窗口?

[英]How to disable react-facebook-login pop-up?

我正在嘗試使用來自npmjs包的react-facebook-login使用facebook auth進行登錄和授權的簡單React Web應用程序,但是它始終被彈出窗口阻止程序阻止。 因此,我的代碼是:

  static defaultProps = { textButton: 'Login with Facebook', scope: 'public_profile, email', xfbml: false, cookie: false, size: 'metro', fields: 'name', cssClass: 'kep-login-facebook', version: '2.3', language: 'en_US', uri: encodeURI('http://myapps.com'); }; document.body.appendChild(fbRoot); window.fbAsyncInit = () => { FB.init({ appId: this.props.appId, xfbml: this.props.xfbml, cookie: this.props.cookie, version: 'v' + this.props.version, }); if (this.props.autoLoad) { FB.getLoginStatus(this.checkLoginState); } }; ((d, s, id) => { const element = d.getElementsByTagName(s)[0]; const fjs = element; let js = element; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = '//connect.facebook.net/' + this.props.language + '/all.js'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); } responseApi = (authResponse) => { FB.api('/me', { fields: this.props.fields }, (me) => { Object.assign(me, authResponse) this.props.callback(me); }); }; checkLoginState = (response) => { if (response.authResponse) { this.responseApi(response.authResponse); } else { if (this.props.callback) { this.props.callback({ status: response.status }); } } }; click = () => { FB.login(this.checkLoginState, { scope: this.props.scope }); }; 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 

當您嘗試在異步回調函數中調用登錄彈出窗口時,彈出窗口阻止程序通常會阻止登錄彈出窗口。 您必須在用戶交互(鼠標單擊)時直接調用它。 我假設您不直接在用戶交互時調用“點擊”功能。

詳細信息: http : //www.devils-heaven.com/facebook-javascript-sdk-login/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM