能否无需等待Wix页面完全加载就重定向至外部URL?
解决方案
方法1:使用原生JavaScript直接跳转(绕过Wix页面就绪事件)
Wix的$w.onReady()会等待页面所有Wix组件初始化完成后才执行,而原生的window.location可以在页面加载早期就触发重定向,完全不依赖Wix的框架就绪流程,速度最快。
你无需导入wix-location模块,直接使用以下代码:
window.location.href = "http://www.my-new-url.com";
在Wix编辑器中添加这段代码的操作步骤:
- 点击顶部菜单栏「设置」→「高级」→「自定义代码」
- 点击「添加自定义代码」,将上述代码粘贴到输入框
- 选择将代码放在「」位置(这是浏览器最早能解析到的位置,重触发速度最快)
- 设置代码仅应用到目标重定向页面,保存后发布即可
方法2:优化Wix页面代码执行时机(备选)
如果坚持使用Wix相关API,可以尝试将重定向代码放在页面代码的最顶部,甚至移出$w.onReady()回调(不过此方式稳定性不如原生JS,因为Wix部分底层环境可能未就绪),但原生JS跳转仍是最优选择。
关于wixLocation.to()延迟的原因
wixLocation.to()是Wix封装的路由方法,它需要等待Wix前端框架完成初始化后才能执行,因此必然会晚于原生JS的跳转时机。
内容的提问来源于stack exchange,提问作者eta
相关产品推荐
相关产品推荐

