Skip to main content

概要

Upcart を閉じた後にストアページがスクロールできなくなる場合、カートドロワーが開いているときにページスクロールをロックするテーマのロジックが原因である可能性が高いです。また、Upcart には現在、既存のスクロールロックロジックの上書きなど、これらの問題に対処するための組み込み設定が用意されています。 この問題は、Upcart 内の組み込み設定を使用するか、スクロールロックの動作を解除する簡単なカスタマイズを追加することで解決できます。
解決方法

組み込みソリューションを使用する

ほとんどの場合、Upcart 設定の組み込みオプションで、カスタムコードを使わずにスクロールの問題を解決できます。
  1. 「Override existing scroll locking logic」を有効にする:
    • Upcart の設定からカートエディターを開きます。
    • SettingsCart settings に移動し、Advanced Settings を展開します。
    • Override existing scroll locking logic を有効にします。この設定の説明はまさにこのケース、つまりカートが閉じた後もテーマやサードパーティアプリがページをスクロールロックしたままにしてしまう問題を対象としています。
    モバイル用やオーバーレイ用の個別のスクロール設定はありません。このチェックボックス 1 つで両方に対応します。
カートを閉じた後にページのスクロールを復元するカスタマイズを適用するには、次の手順に従ってください。

カスタム HTML 設定へのアクセス

  1. Shopify ダッシュボードから Upcart アプリを開きます。
  2. Cart Editor に移動します。
  3. Settings を開き、Custom HTML タブを選択します。Settings はタブが横に並んだ形になっています。Custom HTML が見当たらない場合は、More settings の中にあります。

コードの追加

  1. 組み込みソリューションで問題が解決しない高度なケースや特殊なケースでは、Upcart にカスタム HTML コードを適用できます。Upcart 内で HTML コードを適用する場所を選択します。この修正では、Above Announcements/Rewards セクションを選択してください。
  2. 次のコードスニペットを追加します:
レガシーに関する注記: window.upcartOnCartOpened および window.upcartOnCartClosed コールバックは引き続き動作しますが、非推奨であり、コンソールに警告が記録されます。新しいスクリプトではすべて upcartSubscribeCartOpenedupcartSubscribeCartClosed を使用してください。
  1. 変更を保存します。
  2. ストアフロントを再読み込みし、カートを閉じてスクロールが復元されることをテストで確認します。

発生する理由

Upcart が開くと、ストアのネイティブカートドロワーを非表示にし、その表示領域を引き継ぎます。しかし、一部のテーマには、ドロワーがアクティブな間ページスクロールをロックするコードが含まれています。Upcart が閉じた後もそのロックが残り、ページがスクロールできなくなることがあります。モバイルデバイスでは、オーバーレイが残り続けたり、ページがクリックできなくなったりするなどの追加の問題が発生することがあります。これらの問題は、多くの場合、モバイル固有のスクロールロックの動作やリセットされていないオーバーレイに起因します。 上記のスクリプトは、カートが開閉されたときにページの overflow プロパティを手動でリセットすることで、通常のスクロール動作を復元します。
サポートが必要な場合、または追加のトラブルシューティング

サポートに問い合わせる前の追加手順

  1. Override existing scroll locking logic が有効になっていることを確認します。
  2. カスタムコードやサードパーティスクリプトが干渉していないか再確認します。
修正を適用してもスクロールの問題が解決しない場合、テーマが別のセレクターやカスタムのスクロールロジックを使用している可能性があります。 正しいセレクターの特定については Upcart サポートに、テーマのスクロール設定の調整についてはテーマ開発者にお問い合わせください。