成功登录后,Facebook登录弹出窗口没有关闭,我没有任何回应

时间:2019-05-13 11:16:24

标签: angular facebook mastercard

我正在尝试在我的角度应用程序中使用Facebook SDK来实现使用Facebook的登录功能,iframe可以正常打开,并且登录过程可以正常工作,但是成功登录后,iframe不会关闭并且我没有得到任何帮助我的代码中的响应(令牌)。我还将这个脚本包含在index.html文件中,并将其用于在线支付:

    <script src="https://test-gateway.mastercard.com/checkout/version/51/checkout.js" data-cancel="cancelCallback"
            data-complete="completePaymentCallback" data-timeout="timeoutCallback">
    </script>

    <script type="text/javascript">
      function cancelCallback() {
        document.dispatchEvent(new Event('payment-cancel', {bubbles: true}));
      }

      function completePaymentCallback(data) { //console.log(data);
        document.dispatchEvent(new CustomEvent('payment-completed', {bubbles: true, detail: data}));
      }

      function timeoutCallback() {
        document.dispatchEvent(new CustomEvent('payment-timeout', {bubbles: true}))
      }
    </script>

在付款脚本中,我正在注册用于处理付款状态的回调,该脚本负责打开一个弹出窗口以处理在线付款。我发现如果不将这个脚本包含在index.html中。 Facebook登录正常。

有一个图像链接,用于说明iframe https://i.ibb.co/TRY2PJS/facebook-login.jpg的状态

我遵循的有关使用Facebook API的教程可以在这里找到: https://medium.com/@sarat.e99/facebook-login-oauth2-from-angular-6-f55a96c2be00

万事达卡javascript文件在我的控制台中发出错误,这是错误

Uncaught SyntaxError: Unexpected token s in JSON at position 0
    at JSON.parse (<anonymous>)
    at checkout.js:1
    at ZoneDelegate.invokeTask (zone.js:423)
    at Zone.runTask (zone.js:195)
    at ZoneTask.invokeTask [as invoke] (zone.js:498)
    at invokeTask (zone.js:1744)
    at globalZoneAwareCallback (zone.js:1781)

万事达卡脚本中的代码段在我的控制台中引发错误:

var xDomain = function(targetWindow, targetHost, name) {
                var json3 = "undefined" != typeof JSON3 ? JSON3 : require("./json3.js"),
                    callbacks = {};
                ! function(callback) {
                    window.addEventListener ? window.addEventListener("message", callback) : window.attachEvent("onmessage", callback)
                }(function(event) {
                    var payload = "string" == typeof event.data ? JSON.parse(event.data) : event.data,
                        type = payload.type,
                        data = payload.data;
                    if (type && callbacks.hasOwnProperty(type)) return callbacks[type](data)
                });

0 个答案:

没有答案