如果您需要远程电脑维修,请
如果你的 WordPress 网站出现下面这个报错,网站本身没有坏,服务器也没有问题,99% 是因为你的浏览器版本太旧:
TypeError: Object.hasOwn is not a function
at hz (block-editor.min.js:34:40953)
at data.min.js:3:15376
...
只要把浏览器升级到最新版,问题立刻解决。
一、问题现象
我这次遇到的情况是这样的:
- 浏览网站一切正常,页面打开、前台访问都没问题
- 但是一进后台「写文章」,编辑器直接崩溃打不开
- F12 控制台报
TypeError: Object.hasOwn is not a function - 报错文件都是 WordPress 的核心 JS(block-editor.min.js、data.min.js)
关键词:只有写文章(编辑页面)崩,前台浏览完全正常。这一点非常关键,它直接帮我们缩小了排查范围。
二、为什么会出现这个错误?
Object.hasOwn 是什么?
Object.hasOwn 是 JavaScript 在 2022 年(ES2022)新增的一个方法,用来检查「某个对象有没有某个属性」。它写起来简洁、更安全,所以新版 WordPress 的编辑器代码大量使用了它。
但问题是:这个新方法不是所有浏览器都认识。浏览器只有达到一定版本才有这个方法:
表格
| 浏览器 | 支持版本 | 发布年份 |
|---|---|---|
| Chrome / Edge | 93+ | 2021 年 9 月之后 |
| Firefox | 92+ | 2021 年 9 月之后 |
| Safari | 15.4+ | 2022 年 3 月之后 |
如果你的浏览器版本低于上表,浏览器里就「没有」Object.hasOwn 这个方法。编辑器代码一调用它,浏览器就直接报错:Object.hasOwn is not a function—— 翻译过来就是「你想调用的这个方法,我这儿根本不存在」。
打个比方:Object.hasOwn 就像一本 2022 年才出版的新版字典,你的浏览器还是 2021 年的老版本,里面自然查不到这个词条。WordPress 代码拿着新词条去老字典里查,当然查不到、当场报错。
为什么前台没事、后台崩?
因为 WordPress 的块编辑器脚本(block-editor)只在后台写文章 / 页面时才加载。前台浏览网页根本不会加载这个脚本,所以前台一直正常;一进后台编辑,脚本一启动就崩 —— 这正是「编辑器专属脚本踩到老浏览器兼容坑」的典型特征。
网站本身有没有问题?
我实测检查了你的网站:首页正常返回、核心 JS 文件完整无损、WordPress 的 polyfill 文件也正常加载。网站一点问题都没有,纯粹是浏览器太老,听不懂新代码。
三、10 秒自查:你的浏览器支持吗?
在出错的浏览器里按 F12 打开控制台,输入:
Object.hasOwn
回车后看结果:
- 显示
function hasOwn() { [native code] }→ 浏览器支持,问题在别处 - 显示
undefined→ 实锤了,就是浏览器版本太旧
四、解决方案(按优先级,第一步就能解决绝大多数人)
第 1 步:升级 / 更换浏览器(90% 的人到这步就好了)
装最新版的 Chrome 或 Edge,登录后台写文章,立刻正常。
国内常见大坑:如果你用的是 360、QQ、搜狗、猎豹等国产浏览器,检查一下地址栏是不是处于「兼容模式」(IE 内核)。把「兼容模式」切换成「极速模式」即可 —— 这是很多国内网友踩过的同一个坑。
第 2 步:如果浏览器版本正常还报错
- 按
Ctrl + F5硬刷新(排除旧 JS 缓存) - 开「无痕模式」重试(排除浏览器扩展干扰)
- 用手机浏览器登录后台测试(排除本机环境问题)
第 3 步:以上都不行,最后才动网站
换最新浏览器还崩的话,多半是 JS 优化 / 缓存类插件(如 Autoptimize、WP Rocket、LiteSpeed Cache 等)干扰了编辑器脚本。去后台把这类插件逐个禁用测试。注意:这是最后一步,别一上来就折腾服务器和插件。
五、我的真实案例:Edge 卡在 92 五年没更新
这次我自己就踩了这个坑,而且比一般情况更典型,一共三步:
- 检查浏览器版本:Microsoft Edge 92.0.902.67——2021 年的老版本,整整 5 年没更新
- 想自动更新,结果失败:浏览器提示
检查更新时出错: 无法创建该组件(错误代码 3: 0x80040154)——Edge 的更新组件坏了,卡死在这个版本 - 解决方案:直接去微软官方下载最新版 Edge 离线安装包,覆盖安装,绕过损坏的自动更新机制
覆盖安装成功(Edge 92 → 152),书签、密码、浏览历史全部保留。升级后进后台写文章,一切恢复正常。而且 Edge 的更新组件也被一起修好了,以后能正常自动更新,不会再卡在老版本。
手动下载 Edge 官方安装包的方法
- 微软官方直链(64 位):
https://go.microsoft.com/fwlink/?LinkID=2093437 - 或直接访问微软 Edge 官网下载页
下载后直接运行安装包(官方 MSI 格式),一路下一步即可,会保留你的全部书签、密码和浏览历史,无需担心数据丢失。
六、总结与预防
- 遇到
Object.hasOwn is not a function,先怀疑浏览器,别急着折腾服务器 - 判断标准:在控制台输入
Object.hasOwn,返回undefined就是浏览器太旧 - 解决方法:升级浏览器 / 国产浏览器切极速模式 / 最后才查插件
- 预防建议:保持浏览器自动更新开启,不要用各类「优化软件」关闭浏览器的更新服务,否则几个月后老版本浏览器又会遇到各种新兼容问题
踩坑不可怕,关键是知道坑在哪里。希望这篇文章能帮你少走弯路,5 分钟解决问题。
本文为真实排查记录,网站:3z9w.com,运行环境 WordPress 7.1 + zibll 子比主题 9.0。







