我有一个外部脚本,后面跟着我的<body>
底部的内联脚本。它看起来像脚本在外部脚本,这是不应该发生之前运行的内联,根据这样的回答:在Chrome中按顺序加载脚本
如果没有动态加载脚本或将它们标记为延迟或异步 ,然后脚本按页面中遇到的顺序加载。 无论它是外部脚本还是内联脚本 - 它们都按页面遇到的顺序执行。内部脚本之后的内联脚本一直保存到 之前的所有外部脚本已加载并运行。
的Src:https://stackoverflow.com/a/8996894/114855
这是我的代码:
<script src="https://checkout.stripe.com/checkout.js"></script>
<script>
var handler = StripeCheckout.configure({
key: 'pk_live_HhFqemZFyEUJVorFzYvjUK2j',
token: function(res) {
$('#pay_token').val(res.id);
$('#pay_email').val(res.email)
$('#pay_amount').val(parseFloat($("#amount").val())*100);
$('#pay_description').val($("#description").val());
$('#pay_real').submit();
}
});
/* .. */
</script>
</body>
控制台是表示StripeCheckout没有定义(其外部脚本应该定义)
这是有道理的,因为网络选项卡显示我的外部最终请求仍在等待中。但我不知道为什么浏览器没有等待checkout.js是牵强:
将外部文件加载到文档的“头部” – APAD1