javaScript获取URL

Posted 火腿肠烧烤大赛冠军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript获取URL相关的知识,希望对你有一定的参考价值。

获取当前窗口的Url

var url = window.location.href;

//结果:http://localhost:61768/Home/Index?id=2&age=18

获取当前窗口的主机名

var host = window.location.host;

//结果:localhost:61768

获取当前窗口的端口

var port = window.location.port;

//结果:61768

获取当前窗口的路径

var pathname = window.location.pathname;

//结果:/Home/Index

获取当前文档的Url

var URL = document.URL;

//结果:http://localhost:61768/Home/Index?id=2&age=18

获取参数

var search = window.location.search;

//结果:?id=2&age=18

分隔Url参数

var search = window.location.search;
var age = getSearchString('age', search); //结果:18
var id = getSearchString('id', search); //结果:2
//key(需要检索的键) url(传入的需要分割的url地址,例:?id=2&age=18)
function getSearchString(key, Url) {
    var str = Url;
    str = str.substring(1, str.length); // 获取URL中?之后的字符(去掉第一位的问号)
    // 以&分隔字符串,获得类似name=xiaoli这样的元素数组
    var arr = str.split("&");
    var obj = new Object();

    // 将每一个数组元素以=分隔并赋给obj对象 
    for (var i = 0; i < arr.length; i++) {
        var tmp_arr = arr[i].split("=");
        obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
    }
    return obj[key];
}

跳出当前窗口,打开新窗口

window.open("http://www.baidu.com");

document与window

document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。

所以一个窗口下只有一个window.location.href,可能有多个document.URL、document.location.href

window.location.href 和 document.location.href 可以被赋值,然后跳转到其它页面,document.URL只能读不能赋值。

以上是关于javaScript获取URL的主要内容,如果未能解决你的问题,请参考以下文章

从 URL 获取片段(哈希“#”后的值)[关闭]

简单的 Javascript http 请求片段但不起作用

href="javascript:;"

如何从 URL 获取片段标识符(哈希 # 后的值)?

使用带有 URL 的 JavaScript 获取 HTML 代码

求教下面的javascript代码意思