js教程

JavaScript如何获取自己的加载路径

我的站长站 2024-09-24 人阅读

我们都知道JavaScript获取当前路径的方法用:

var currentFullPath = window.location.href;
console.log(currentFullPath);

这样就可以获取完整路径。


今天我的站长站分享不是获取当前URL路径,而且获取JS自己本身的加载路径,比如获取:

<script src="https://www.wdzzz.com/Style/js/jquery.min.js" type="text/javascript"></script>

中的

https://www.wdzzz.com/Style/js/jquery.min.js

代码如下

在JavaScript中,如果你想获取当前JavaScript文件的路径,你可以使用document.currentScript属性(如果你在HTML中以<script>标签引入JS),然后获取其src属性。以下是一个示例代码:

// 获取当前运行的 JavaScript 脚本标签
var script = document.currentScript;
// 获取脚本的 src 属性,即当前脚本的路径
var scriptPath = script.src;
console.log(scriptPath);

请注意,document.currentScript在一些老旧的浏览器中可能不支持,因此使用时需要考虑兼容性问题。


document.currentScript目前浏览器都兼容,只有特别老的浏览器不兼容,如果你还要考虑很老的浏览器兼容性,那可以使用下面这段代码。

function getCurrentScriptPath() {
    // 获取当前正在执行的script标签
    var script = document.currentScript;
    // 如果不支持document.currentScript,则尝试通过调用栈获取
    if (!script) {
        try {
            throw new Error();
        } catch (e) {
            // 获取调用栈,并尝试从中获取script标签
            var stack;
            if (e.stack) {
                stack = e.stack.split('\n').pop(); // 获取最后一行
            } else if (window.opera) {
                stack = e.backtrace.split('\n').pop(); // 对于opera
            }
            if (stack) {
                var matches = stack.match(/((http|https|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]*[-A-Za-z0-9+&@#/%=~_|])/i);
                var src = (matches && matches[1]) || '';
                if (src) {
                    return src;
                }
            }
        }
    }
    // 返回script标签的src属性值
    return script && script.src || '';
}
 
var scriptPath = getCurrentScriptPath();
console.log(scriptPath);


这种方法可以在需要使用JS传参的时候使用,比如:

<script src="https://www.wdzzz.com/Style/js/jquery.min.js?wdzzz=wdzzz" type="text/javascript"></script>

然后在js获取自己路径,最后获取wdzzz的参数。

相关推荐
  • js获取
  • js如何获取指定网址中的参数

    之前我的站长站分享的都是用JS获取当前网址URL中的参数,我们这次教大家如何获取指定网址中的参数。js获取网址参数代码JS获取网址的方法都一样,我们同样使用函数的方法。function getQueryParam(url, param) {// 创建一个新的URL对象const urlObj = ne...

    js教程 6 1个月前
  • JavaScript如何获取自己的加载路径

    我们都知道JavaScript获取当前路径的方法用:var currentFullPath = window.location.href;console.log(currentFullPath);这样就可以获取完整路径。今天我的站长站分享不是获取当前URL路径,而且获取JS自己本身的加载路径,比如获取:<script src="https://...

    js教程 7 1个月前
  • js获取字符长度函数分享

    js获取字符长度函数function objLen(str) { if (str == null) return 0; if (typeof str != "string") { str += ""; } return str.replace(/[^\x00-\xff]/g, "01").length;}函数使用方法var arr1 = &#39;ABCD1234&#39;console.log(objLen(...

    js教程 13 10个月前
最新更新
  • js返回上一页、刷新页面代码大全

    返回上一页代码:<a href="javascript:history.go(-1)">返回上一页</a>onclick返回上一页代码:<a href="javasc...

    js教程 2天前
  • js语言!=与!==的区别

    != (不等于)!= 是松散的不等于运算符。它在比较两个值时,会先进行类型转换(type coercion),然后再比较值是否不...

    js教程 6天前
  • JS防止网站被扒的解决方法

    这个代码能够直接保护整个站,而不再是单个页面,直接把代码放到自己的网站上,如果是博客建议放到header.php头部...

    js教程 3周前
  • Hexo插件开发实战教程

    Hexo的插件嵌入有两种方式,一种是通过脚本(Scripts)的方式引入,一种是通过插件(Packages)的方式将自定义的插件内...

    js教程 1个月前
  • JavaScript定时删除指定元素方法

    JavaScript定时删除指定元素一般用到自动隐藏的效果功能上面,主要用到了JS的setTimeout语法。下面是一个定时...

    js教程 1个月前