Shopify中如何使用JavaScript获取后台设置的默认国家站点
JS获取Shopify storeswitcher默认国家站点实现方案
方案1:读取Shopify全局配置(推荐)
Shopify官方主题及大部分第三方主题都会将多站点配置挂载到window.Shopify全局对象下,直接运行以下代码即可获取后台设置的默认国家站点信息:
const getDefaultStoreCountry = () => { // 优先读取Shopify多市场全局配置,返回你后台设置的默认市场信息 if (window.Shopify?.markets?.default_market) { return { 国家代码: window.Shopify.markets.default_market.country_code, 国家名称: window.Shopify.markets.default_market.name, 站点域名: window.Shopify.markets.default_market.domain } } // 旧版主题兜底:读取storeswitcher本地缓存配置 const localConfig = localStorage.getItem('shopify_storeswitcher_config') if (localConfig) { return JSON.parse(localConfig).default_country } // 极端场景兜底:直接返回后台设置的固定默认值 return { 国家代码: 'US', 国家名称: '美国' } } // 调用打印默认站点信息 console.log('后台设置的默认国家站点:', getDefaultStoreCountry())
方案2:读取storeswitcher组件默认选中项
如果你的主题是自定义开发的storeswitcher,可以直接读取下拉选择器的默认选中属性获取值:
// 将.country-switcher替换为你实际页面中站点切换器的选择器类名 const defaultSelectOption = document.querySelector('.country-switcher option[selected]') if (defaultSelectOption) { console.log('默认国家代码:', defaultSelectOption.value) console.log('默认国家名称:', defaultSelectOption.textContent.trim()) }
注意事项
如果运行后拿到的是当前访问用户所在地的国家而非后台设置的美国,需要先关闭Shopify后台「市场 - 偏好设置」中的「自动根据访客地理位置重定向」选项,全局配置返回的才是你固定设置的默认站点值。
内容的提问来源于stack exchange,提问作者Mars
相关产品推荐
相关产品推荐

