有没有办法使用console.print语句在devtools控制台中打印到javascript源文件和行号的链接?

时间:2016-03-11 18:24:49

标签: javascript google-chrome-devtools

我有一些在特定javascript文件中触发的console.log打印。此文件知道其他文件,并在console.log打印中引用这些文件名。我想知道是否有一种方法可以在同一个console.log打印出来打印某个源文件的链接,有希望的行为点击链接会在开发工具中打开该文件的源视图?

2 个答案:

答案 0 :(得分:1)

通过尝试@miir的解决方案可以发现:

1)只要您输入完整路径,就链接到文件

console.log("http://localhost:8000/myapp/path/to/file.js")
console.log(document.currentScript.src); // if executed from within a script

2)手动链接到文件+行+字符

const line = "83";
const character = "2";
console.log(document.currentScript.src + ":" + line + ":" + character);

3)动态链接到文件+行+字符

const level = 1; // 1 is last stack trace, you can go up the calling functions up to 4
console.log(new Error().stack.split("\n")[level].match(/http[^\)]+/)[0]);

没有什么可以从公认的答案中找出来的,但也许可以帮助新来的人。

答案 1 :(得分:0)

在回答这个问题时,没有直接的方法可以做到这一点。

然而,@ Emissary在下面的评论中指出,访问文件链接的解决方法是利用Error对象的能力。

console.log(new Error().stack)