You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网站出现Uncaught TypeError: window.getWidth is not a function错误的修复求助

问题排查与修复方案

错误原因分析

  • window.getWidth 未被定义:代码直接调用了全局对象window上的getWidth方法,但该方法要么从未声明,要么声明时机晚于JawallMenu.check方法的调用,或是声明时未挂载到window全局对象上。
  • 执行中断引发功能失效:该类型错误会直接中断JawallMenu.check方法的后续逻辑,导致菜单相关交互代码无法正常执行,最终出现菜单失效问题。

修复方案

方案1:补全局函数定义

如果getWidth是项目预期存在的工具函数,在script.js开头或JawallMenu初始化前添加该函数的全局定义:

window.getWidth = function() {
    // 实现标准的窗口宽度获取逻辑
    return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
};

方案2:替换为原生API逻辑

如果getWidth仅用于获取窗口宽度,直接在调用处替换为原生代码,消除对未定义函数的依赖:
找到script.js第137行左右的错误调用代码,将:

var width = window.getWidth();

替换为:

var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;

方案3:调整脚本加载顺序

如果getWidth定义在其他脚本文件中,检查HTML中的脚本引用顺序,确保包含getWidth的脚本优先于script.js加载:

<!-- 先加载包含getWidth定义的脚本 -->
<script src="path/to/your/width-utils.js"></script>
<!-- 再加载script.js -->
<script src="script.js"></script>

验证步骤

  1. 修复后刷新页面,打开开发者工具Console面板,确认不再出现window.getWidth is not a function错误。
  2. 测试菜单的展开、收起等交互,验证功能是否恢复正常。

内容的提问来源于stack exchange,提问作者noojum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 16:20:38