我想用javascript分割窗口网址

问题描述 投票:0回答:3

我有这样的网址:

http://www.exemple.local/en/node/28

我想只拆分en部分并将其插入另一个div中。我的代码是这样的:

var url = window.location.href;
var urlDomaine = document.location.origin
var splitedUrl = url.split(urlDomaine)[1];
console.log(splitedUrl);
$('.div').text(splitedUrl);

这将打印给我/en/node/28,我不想再分裂它,任何想法?

javascript jquery drupal
3个回答
3
投票

你不需要用split()或任何其他复杂的方法破解字符串。

只需使用window.location.pathname。在您指定的URL上运行时,将返回:

/en/node/28

如果你只想要en值,拆分pathName然后检索结果数组的第二个元素:

var pathName = window.location.pathName; // = '/en/node/28'
var lang = pathName.split('/')[1]; // = 'en'

1
投票

恕我直言,你正在寻找这样的东西(使用Web Api的URL):

var url = 'http://www.exemple.local/en/node/28' 
var myURLObj = new URL(url);


console.log(myURLObj.pathname)   // '/en/node/28'
console.log(myURLObj.pathname.split('/')[1]);   // 'en'

1
投票

以下是如何使用ES6解构功能将您的完整网址分解为各个部分:

var path = 'http://www.exemple.local/en/node/28'
let [protocol, url, locale, node, id] = path.split('/').filter(chunk => chunk.length);

console.log(protocol);
console.log(url);
console.log(locale);
console.log(node);
console.log(id);
© www.soinside.com 2019 - 2024. All rights reserved.