0

我正在使用 Adyen SDK 1.9.4 设置在线支付。它在 Chrome、Safari、Opera 和 Firefox 上运行良好,但在 IE 和 Edge 上会引发 Javascript 错误。

SCRIPT5009: 'chckt' 未定义

'chckt' 应该是在加载 Adyen SDK javascript 库时初始化的对象。

我尝试将代码剥离回一个简单的 html 页面,但它仍然出错。我也尝试过联系 Adyen 支持,但在发送了数十封电子邮件之后,我离解决问题还差得远。

<!DOCTYPE html>
<html class="html">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Test checkout</title>
    <script type="text/javascript"
            src="https://checkoutshopper-test.adyen.com/checkoutshopper/assets/js/sdk/checkoutSDK.1.9.4.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

</head>
<body>

<h1>Test</h1>

<script type="text/javascript">
    $(document).ready(function () {
        test_chckt();
    });

    function test_chckt()
    {
        console.log('chckt is: ' + typeof chckt);
        console.log(chckt);
    }
</script>

</body>
</html>

代码应输出:
chckt is: object
Object

但在 IE 和 Edge 中,输出为:
chckt is: undefined
SCRIPT5009: 'chckt' is not defined

对此问题的任何帮助将不胜感激。

4

1 回答 1

0

没有必要 $(document).ready()。你可以简单地说它console.log(chckt)有效。也许cb有不同的范围,它找不到它。如果你真的想要你可以试试window.chckt

于 2019-05-09T14:55:41.907 回答