尝试连接 url 的不同部分,并为“:”(冒号空格)分隔符添加分隔符,该分隔符不会添加到可能更改的最后一个数组值中。这用于网络分析数据层。
我尝试使用下面的方法,但是,如果我有一个小于 4 的数组,并且会将分隔符添加到最后一个变量的末尾,则它不起作用。
输入:
var pathArray = window.location.pathname.split( '/' );
var siteDomain = hostName; // returns the URL hostname of the current page.
var siteSection2 = pathArray[1]; /// returns the second-level directory path of the current page.
var siteSection3 = pathArray[2]; // returns the third-level directory path of the current page.
var siteSection4 = pathArray[3]; // returns the fourth-level directory path of the current page.
第一次尝试 - 尝试了以下方法,但它删除了最后一个路径 (pathArray[3])
var pageNameString = [hostName, pathArray[1], pathArray[2], pathArray[3]];
var pageName = pageNameString.slice(0, -1).join(': ');
第二次尝试 - 如果路径小于 4,仍将分隔符添加到末尾
var pageNameString = [hostName, pathArray[1], pathArray[2], pathArray[3]];
var pageName = pageNameString.slice(0, 4).join(': ');
第三次尝试 - 仍然将分隔符添加到末尾
var pageName = [hostName, pathArray[1], pathArray[2], pathArray[3]].join(': ');
所需输出:
- 当 1 个路径深(主机名)时,它应该返回:“主机名”
- 当 2 个路径深时 (pathArray[1]),它应该返回:“主机名:ScottTests”
- 当 3 个路径深时 (pathArray[2]),它应该返回:“hostname: ScottTests: path3”
- 当 4 个路径深 (pathArray[3]) 时,它应该返回:“主机名:ScottTests:path3:index.html”
任何帮助将不胜感激
提前致谢, 斯科特
最佳答案
鉴于您对我的评论问题的答复 - 我认为您需要做的是以下事情:
var slash = '/';
//we want to search for slash, globally
var regEx= new RegExp(slash, 'g');
//now replace the slash with ': ' as desired
var pageName = urlString.replace(regEx, ': ').trim();
//just in case we have : at the end
pageName = (urlString.endsWith(':')? pageName .slice(0, -1): pageName );
请尝试一下,并告诉我们这是否有帮助。 您可以看一下 Javascript 中替换函数的一些示例 here.
关于javascript - 使用 javascript 连接 url 的不同部分并添加分隔符(最后一个数组变量末尾除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215590/