我有一個外部腳本,後面跟着我的<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