我正在使用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是:object
对象
但是在IE和Edge中,输出为:
chckt是:undefined
SCRIPT5009:未定义“ chckt”
在此问题上的任何帮助将不胜感激。
答案 0 :(得分:0)
不需要$(document).ready()
。您只需说console.log(chckt)
就可以了。也许cb具有不同的作用域,但找不到它。如果您确实想要,可以尝试window.chckt
。