[英]What is this hex value for in the Chrome debugger?
我很好奇为什么在这个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
例如,source websocket.js
与13d9
相关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
形式公开列号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 */
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.