ArcGIS JS 异常之:Invalid language tag: RangeError: Invalid language tag:

使用默认的PopupTemplate显示点击查询的内容,点击后报错:

Invalid language tag: RangeError: Invalid language tag: at new NumberFormat (<anonymous>) at o (webpack-internal:///./node_modules/@arcgis/core/intl/number.js:14:273) at c (webpack-internal:///./node_modules/@arcgis/core/intl/number.js:14:716) at f (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:1386) at u (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:504) at eval (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:214) at eval (webpack-internal:///./node_modules/@arcgis/core/core/string.js:15:191) at Symbol.replace (<anonymous>) at String.replaceAll (<anonymous>) at r (webpack-internal:///./node_modules/@arcgis/core/core/string.js:15:78)

尝试AI解决,乱搞一通,越搞越乱。后面问ChatGPT,原因如下:

这个报错本质上不是"查询"本身的问题,而是 ArcGIS JS 在做字符串格式化(number/intl substitute)时,拿到了一个非法的语言标签(locale)

解决方法:

方案一:

javascript 复制代码
esriConfig.locale = "zh-CN";   // 简体中文

方案二:

ArcGIS JS 会自动读取html文件lang属性,如果该属性为空字符,会报错。改为正确的

html 复制代码
<html lang="zh">
相关推荐
剩下了什么10 小时前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
你别说话了10 小时前
Vue项目解决跨域
前端·javascript·vue.js
指尖时光.10 小时前
Three.js 超全入门综合案例
开发语言·javascript·ecmascript
唐青枫11 小时前
http-server:别再双击 index.html,一条命令把目录变成网站
前端·javascript
暴力求解11 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
吴声子夜歌11 小时前
Java面试题——基础(一)
java·开发语言
小庞在加油11 小时前
WinDbg实战:QT/跨平台项目死锁与无响应问题排查指南
开发语言·qt·windbg·工具
Vae_Mars12 小时前
C#中的delegate委托
开发语言·c#
一直走下去-明12 小时前
简单的http抓包解包完整代码
开发语言·python
caimouse12 小时前
ReactOS 图形系统分析(51):元文件子系统 — metafile.c
c语言·开发语言