使用 script 标签的 src 属性:
如果您的 JavaScript 文件是通过 script 标签引入的,您可以使用以下方法来获取当前脚本的文件名:
var scripts = document.getElementsByTagName('script');
var currentScript = scripts[scripts.length - 1];
var currentScriptSrc = currentScript.src;
var fileName = currentScriptSrc.substr(currentScriptSrc.lastIndexOf('/') + 1);
console.log(fileName);
利用了 Error 对象的堆栈信息,通过解析堆栈信息并提取文件名部分来获取当前脚本的文件名。
function getCurrentScriptName() {
var error = new Error();
var stack = error.stack;
var callerLine = stack.split('\n')[1]; // 获取调用当前函数的那一行堆栈信息
var fileName = callerLine.match(/[^/]*$/)[0]; // 从堆栈信息中提取文件名部分
return fileName;
}
var currentScriptName = getCurrentScriptName();
console.log(currentScriptName);
本人用的第一种,获取的情况如下