javascript - Chrome 调试器中的这个十六进制值是什么?
问题描述
我只是好奇为什么在这个 Chrome 调试器输出中似乎有一个与每个源相关的十六进制数字......
WebSocket is already in CLOSING or CLOSED state.
(anonymous) @ websocket.js?13d9:192
exports.encodePacket @ browser.js?9636:123
(anonymous) @ websocket.js?13d9:170
WS.write @ websocket.js?13d9:202
Transport.send @ transport.js?87a5:110
Socket.flush @ socket.js?1006:565
Socket.sendPacket @ socket.js?1006:625
Socket.ping @ socket.js?1006:529
(anonymous) @ socket.js?1006:516
setTimeout (async)
Socket.setPing @ socket.js?1006:514
Socket.onPacket @ socket.js?1006:445
(anonymous) @ socket.js?1006:273
Emitter.emit @ index.js?ea2f:133
Transport.onPacket @ transport.js?87a5:145
Transport.onData @ transport.js?87a5:137
ws.onmessage @ websocket.js?13d9:147
例如,源websocket.js
与 相关13d9
。
这个十六进制值来自哪里,它的用途是什么?
在这种情况下,我不关心实际的错误,我只是将其用作示例。
解决方案
这是文件 URL 的一部分。
无法确定在这种情况下设置了什么,但这是在更新 js 文件时避免缓存的常用方法。
Chrome 的控制台输出不公开列号,所以后面的:
内容是行号。
const script = document.createElement('script');
const blob = new Blob([`const foo = "bar";
// should throw at line 3
throw new TypeError('not a baz');`], {type: "application/javacript"});
script.src = URL.createObjectURL(blob);
document.head.appendChild(script);
结果是
Uncaught TypeError: not a baz blob:null/96273a46-9...a3b1-12d1f1f3355c:3
at 96273a46-9f81-4eed-a3b1-12d1f1f3355c:3
如您所见,此处仅显示行号,尽管Error.stack
消息确实在表单中公开了列号script_url:lineno:colno
const script = document.createElement('script');
const blob = new Blob([`console.log(new Error('foo').stack);`], {type: "application/javacript"});
script.src = URL.createObjectURL(blob);
document.head.appendChild(script);
/*
Error: foo
at blob:null/[random-blob-url]:1:13
*/
推荐阅读
- r - Extract string within first two quotation marks using regular expressions?
- reactjs - 是否有可能让 SVG 与 react-top-print 一起工作?
- java - Spring Boot 应用程序缓存 TLS 握手以在 30 秒后不丢弃
- hibernate - 实体类未映射:尝试在单个查询中加入主实体类和租户实体类以获得加入结果时
- dns - 在领事集群设置中使用 systemd-resolved 进行 DNS 转发
- python-tesseract - 将 pytesseract 与旧版引擎一起使用的可维护方式?
- html - 我怎样才能让我的导航栏链接(关于、服务、项目)“停止在屏幕外运行”-让它停止?
- azure - Azure 企业级登陆区域架构的实际实现是什么?
- outlook - 使用 Microsoft Graph API 创建只读日历事件
- snowflake-cloud-data-platform - 如何将 varchar 列与数值进行比较