窗口位置网址 Javascript

3
我正在将当前URL分成几个部分,但是我在获取当前URL的这一部分上做错了什么。我该如何解决这个问题?
var url = window.location.url; 

我正在尝试从页面中获取当前的URL。这是我的函数:

function split(){

    var url = window.location.url;     // This part is not correct
    var firstSplit = url.split('?')[1];

    var name = firstSplit.split('&')[0];
    var age = firstSplit.split('&')[1];

    var parName = name.split('=')[0];
    var nameName = name.split('=')[1];

    var parAge = age.split('=')[0];
    var ageAge = age.split('=')[1];

    document.getElementById("nameId").innerHTML=naamName;
    document.getElementById("ageId").innerHTML=leeftijdAge;
}

这句话应该改为 var url = window.location.href 才对吧? - Dave
如果您想获取查询参数,请查看http://stackoverflow.com/search?q=javascript+get+query+parameters。 - Felix Kling
还可以阅读window.location的文档来了解该对象具有哪些属性。 window.location.url根本不存在,你为什么认为它存在呢? - Felix Kling
费利克斯,这就是我问的原因... - user1395001
5个回答

6

使用href

window.location.href

例如,在当前的SO页面上运行它会得到以下结果:
console.log(window.location.href);

this:

https://dev59.com/QGTWa4cB1Zd3GeqPCFOP

3

将以下脚本添加到页面中,它将显示页面网址的所有属性:

document.write("<li>location.href = " + location.href);
document.write("<li>location.protocol = " + location.protocol);
document.write("<li>location.host = " + location.host);
document.write("<li>location.hostname= " + location.hostname);
document.write("<li>location.port = " + location.port);
document.write("<li>location.pathname = " + location.pathname);
document.write("<li>location.hash = " + location.hash);
document.write("<li>location.search = " + location.search);

更好的答案在这里找到:https://gist.github.com/jlong/2428561
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";

parser.protocol; // => "http:"
parser.host;     // => "example.com:3000"
parser.hostname; // => "example.com"
parser.port;     // => "3000"
parser.pathname; // => "/pathname/"
parser.hash;     // => "#hash"
parser.search;   // => "?search=test"

2
您可以通过使用window.location上的不同属性直接访问URL的不同部分。
完整的URL是window.location.href,但您似乎更感兴趣的是查询字符串(问号后面的部分),您可以使用window.location.search来访问它。
其他属性列表可以在MDN关于window.location的文章中找到

0

尝试一下

var url = window.location.href;

或者

var url = document.URL;

我认为请使用与split不同的函数名称,因为它是PHP的一个函数,可能是问题的原因。

谢谢


0

我不确定你在将URL分解成部分后想要做什么,但是这里是如何获取当前URL并将其放入变量中的方法。您可以稍后按照自己的方式将它们重新组合。来源:[http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/][1]

var urlNow = window.location.pathname.split('/');

var itNow0 = urlNow[0];
var itNow1 = urlNow[1];
var itNow2 = urlNow[2];
var itNow3 = urlNow[3];

alert(itNow0+ ' ' +itNow1+ ' ' +itNow2+ ' ' +itNow3);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接