【JS】获取当前<script>标签src属性的url跟的参数和相对路径(无论引入的JS是外部、内部)

950 阅读1分钟

前言

因为代码和逻辑都比较简单,也有一些注释,就直接上代码了!

引入js的获取src属性里值的方法(无论内外部)

// 当前是引入外部js的时候的代码
var params = getUrlParam();
for (var param in params) {
    console.log(param, ":", params[param]);
}
// 获取当前url后跟的参数
function getUrlParam() {
    var arraytemp = getSplitUrl();
    var paramMap = {};

    if (arraytemp.length < 2) {
        return paramMap;
    }

    //如果不带参数,则不执行下面的代码
    var paramJson = arraytemp[1].split("&");
    for (var param of paramJson) {
        var k_v = param.split("=");
        if (k_v.length == 2) {
            paramMap[k_v[0]] = k_v[1];
        }
        // console.log(param)
    }
    // console.log(paramMap)
    return paramMap;
}



// 获取当前下的url
function getRelativeUrl() {
    var arraytemp = getSplitUrl();
    // console.log(arraytemp)
    // console.log(arraytemp[0].lastIndexOf("/"));
    var urlNum = arraytemp[0].lastIndexOf("/");
    if (urlNum > 0 && arraytemp[0].length > urlNum) {
        return arraytemp[0].substring(0, urlNum + 1);
    } else {
        return arraytemp[0];
    }
}


// 获取当前外部引入script里的src路径
function getSplitUrl() {
    var js = document.getElementsByTagName("script");
    // js加载的是当前引用的js,得到script,并把src用'?'分隔成数组
    var arraytemp = js[js.length - 1].src.split('?');
    return arraytemp;
}

文章小尾巴

文章写作、模板、文章小尾巴可参考:《写作“小心思”》
  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
  我是南方者,一个热爱计算机更热爱祖国的南方人。

  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)