<aside> ⚠️ eギフト固定送料が適用できない状態で注文が行われると
<aside> ⚠️
少々エンジニアの知識が必要となります。
下記設定を行ったとしても1.5秒経過してもJavaScriptが読み込まれないケースなどでは、解決できない場合がございますので予めご了承ください。 本事象が多く発生する場合には改めて対応をご相談させていただけますと幸いです。
</aside>
カートページにて、以下のテーマ編集を行い、カートページの読み込みから1.5秒後に、チェックアウトページへの遷移するボタンを押下できるようにし、ページの読み込みが完了するまではチェックアウトページに遷移できないようにご編集ください。
main-cart.liquid
変更内容: カートページのチェックアウトボタンにdisabledを追加
<button
type="submit"
name="checkout"
data-terms-required="{{ settings.cart_terms_conditions_enable }}"
class="btn cart__checkout"
disabled
>
{{ 'cart.general.checkout' | t }}
</button>
anygift-custom.js.liquid
変更内容: 以下を追加し、ページロードから1.5秒後にdisabledを解除する
{% comment %}
eギフトのチェックアウト用に、はじめ「レジに進む」ボタンをdisabledにし、1.5秒後に解除する
main-cart.liquid の cart__checkout ボタンにdisabledを付与しています
{% endcomment %}
const searchCheckoutButtonElement = async () => {
for (let i = 0; i < 50; i++) {
const checkoutButtonElement = document.querySelector('.cart__checkout');
if (checkoutButtonElement) {
return checkoutButtonElement;
}
await sleep(100);
}
return null;
};
searchCheckoutButtonElement().then(checkoutButton => {
if (checkoutButton) {
// 1.5秒後にdisabledを解除
setTimeout(() => { checkoutButton.disabled = false }, 1500);
} else {
console.log('チェックアウトボタンが見つかりません')
}
})