Skip to main content

概览

如果关闭 Upcart 后商店页面变得无法滚动,这很可能是由主题在 cart drawer 打开时锁定页面滚动的逻辑造成的。此外,Upcart 现在提供了内置设置来解决这些问题,例如覆盖现有的滚动锁定逻辑。 你可以使用 Upcart 内的内置设置来解决此问题,也可以添加一段小的自定义代码来移除滚动锁定行为。
解决方法

使用内置解决方案

在大多数情况下,Upcart 设置中的内置选项无需自定义代码即可解决滚动问题。
  1. 启用 “Override existing scroll locking logic”
    • 在 Upcart 设置中打开 Cart Editor。
    • 前往 SettingsCart settings,然后展开 Advanced Settings
    • 启用 Override existing scroll locking logic。其说明恰好涵盖了这种情况:主题或第三方应用在购物车关闭后仍将页面锁定在滚动状态。
    没有单独的移动端或遮罩层滚动设置——这一个复选框同时涵盖两者。
按照以下步骤应用自定义代码,以在购物车关闭后恢复页面滚动。

访问自定义 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.upcartOnCartOpenedwindow.upcartOnCartClosed 回调仍然有效,但已被弃用并会在控制台记录警告。所有新脚本请使用 upcartSubscribeCartOpenedupcartSubscribeCartClosed
  1. 保存更改。
  2. 刷新你的店面并测试关闭购物车,确认滚动已恢复。

出现此问题的原因

Upcart 打开时会隐藏商店的原生 cart drawer 并接管其视觉空间。然而,某些主题包含在抽屉激活时锁定页面滚动的代码。Upcart 关闭后,该锁定可能仍然存在,导致页面无法滚动。在移动设备上,还可能出现其他问题,例如遮罩层持续存在或导致页面无法点击。这些问题通常与移动端特有的滚动锁定行为或未重置的遮罩层有关。 上面的脚本通过在购物车打开或关闭时手动重置页面的 overflow 属性来恢复正常的滚动行为。
需要帮助或进一步排查

联系支持团队前的额外步骤

  1. 确保已启用 Override existing scroll locking logic
  2. 再次检查是否有自定义代码或第三方脚本可能造成干扰。
如果应用此修复后仍然遇到滚动问题,你的主题可能使用了不同的选择器或自定义滚动逻辑。 请联系 Upcart 支持团队协助确定正确的选择器,或联系你的主题开发者帮助调整主题的滚动设置。