×

用原生Javascript获取当前访问地址以及一些参数

作者:Web前端之家2021.04.27来源:Web前端之家浏览:222评论:0
关键词:js
微信公众号

微信公众号

今天分享一个Web前端开发TIPS:用原生Javascript获取当前访问地址以及一些参数。这个应用用的非常多,比如url传参给下一个页面等等。废话不多说,一起学习下吧。

一、js获取当前域名有2种方法

var domain = document.domain;
var domain = window.location.host;

二、获取当前Url的4种方法

var url = window.location.href;
var url = self.location.href;
var url = document.url;
var url = document.location;

三、获取当前相对路径的方法

function GetUrlRelativePath(){
    var url = document.location.toString();
    var arrUrl = url.split("//");
    var start = arrUrl[1].indexOf("/");
    var relUrl = arrUrl[1].substring(start);//stop省略,截取从start开始到结尾的所有字符
    if(relUrl.indexOf("?") != -1){
      relUrl = relUrl.split("?")[0];
    }
    return relUrl;
}

四、获取当前Url参数的方法

function getQueryVariable(variable){
       var query = window.location.search.substring(1);
       var vars = query.split("?");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

提示:获取参数的时候根据引用不同设置url.split("?")里面的符号,有时候是&,有时候是?,或者其他的。

例1

比如有一个URL地址:https://www.xxx.com/?campaignId=activity004

我想获取的campaignId参数值。这时候我们要用到第四种方法。代码如下:

var campaignId = getQueryVariable("campaignId")

调用getQueryVariable函数,后面写入参数名,即可得到参数值。

例2

比如有一个URL地址:https://www.xxx.com/?campaignId=activity004&cTag=123

我需要把cTag的参数传给下后面的页面。这时候,我们需要改变下getQueryVariable里的vars变量的定义:

var vars = query.split("&");

注意:有时候后台会反馈回来,你传给去的值是false或者undefined,这个问题是很多新手会犯的错误。我们传过去之前先要判断这个值【ctagId】是否存在。如下代码:

if(ctagId){
    if(accountUrl.indexOf("?") != -1){    
       url = accountUrl+"&cTag="+ctagId;
    }else{
       url = accountUrl+"?cTag="+ctagId;
    }
}else{
    console.log("Url has no cTag!")
}

并且还有个问题就是,有时候获取的URL地址参数排序是混乱的,所以还要对参数前面的符号进行判断如果是第一个参数,执行对应的判断。

OK,URL传值的就说这么多,有问题的童鞋可以加群咨询。

温馨提示:本文作者系Web前端之家 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/chuanzhijs20210427.html

网友评论文明上网理性发言 已有0人参与

发表评论:

最新留言

  • 访客

    红红火火恍恍惚惚...

  • 跨境电商运营

    谢谢站长的文章已经解决问题了...

  • 跨境电商运营

    非常不错的文章下次还会再来!...

  • Web前端之家

    可以的,有时间会发些关于SEO相关的文章~...

  • s4f

    SEO很难啊,小编多发点类似文章吧!...

  • Web前端之家

    应该没什么问题吧,等待官宣,毕竟还没正式公开这个版本。...

  • 这个版本,能不能作为个人系统使用,有没有什么不同...

  • Web前端之家

    现在基本都是jsonp的呀,json很少,不过处理方式都差不多。如有问题加QQ群。...

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2021 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.6.7 Valyria