为URL剥离页面的JavaScript
我们有一个javascript函数,用于在内部跟踪页面统计信息。然而,它多次报告的URL包括我们不希望报告的搜索结果页面的页码。报告页面的格式如下:为URL剥离页面的JavaScript,javascript,regex,Javascript,Regex,我们有一个javascript函数,用于在内部跟踪页面统计信息。然而,它多次报告的URL包括我们不希望报告的搜索结果页面的页码。报告页面的格式如下: http://www.test.com/directory1/2 http://www.test.com/directory1/subdirectory1/15 http://www.test.com/directory3/1113 相反,我们希望将上述情况报告为: http://www.test.com/directory1 http://ww
http://www.test.com/directory1/2
http://www.test.com/directory1/subdirectory1/15
http://www.test.com/directory3/1113
相反,我们希望将上述情况报告为:
http://www.test.com/directory1
http://www.test.com/directory1/subdirectory1
http://www.test.com/directory3
请注意,上面编号的“目录”和“子目录”名称仅用于示例目的,实际的子目录名称都不同,不一定在目录名称的末尾包含数字,并且可以有很多层次
目前,我们的JavaScript函数使用以下代码生成这些URL:
var page = location.hostname+document.location.pathname;
我相信我们需要将JavaScript替换函数与一些正则表达式结合使用,但我完全不知道这会是什么样子。任何帮助都将不胜感激
提前谢谢 我认为您需要使用带有重写规则的.htaccess来更改url的外观,但是我仍在查看javascript是否可以使用此选项。当我发现更多信息时,会重新发布吗 编辑* lastIndexOf只会给你这个职位,因此你仍然需要更换。例: var temp=第页子字符串(第页lastIndexOf(“/”),第页长度-1) 第页=第页。替换(临时“”
不幸的是,我在编码方面没有那么先进,所以在其他答案中可能有更高效的编码。很抱歉给您带来不便。我认为您需要使用带重写规则的.htaccess来更改url的外观,但是我仍在查看javascript是否可以使用此选项。当我发现更多信息时,会重新发布吗 编辑* lastIndexOf只会给你这个职位,因此你仍然需要更换。例: var temp=第页子字符串(第页lastIndexOf(“/”),第页长度-1) 第页=第页。替换(临时“”
不幸的是,我在编码方面没有那么先进,所以在其他答案中可能有更高效的编码。很抱歉给我的初始答案带来不便。您可以做的是找到“/”的最后一个索引,然后使用子字符串函数。您可以做的是找到“/”的最后一个索引,然后使用子字符串函数。如果您只是删除最后一个斜杠+内容,您不确定是否需要正则表达式
我可能会使用它来搜索最后一个“/”字符,然后从字符串的开头到该索引执行一个子字符串。如果只是删除最后一个斜杠+内容,则不确定是否需要正则表达式
我可能会使用它来搜索最后一个“/”字符,然后从字符串的开头到该索引执行一个子字符串。我想您需要这样:
var page=location.href.substring(0,location.href.lastIndexOf(“/”)代码>我想你想要这个:
var page=location.href.substring(0,location.href.lastIndexOf(“/”)代码>您可以使用正则表达式:
document.location.pathname.replace(/\/\d+$/, "");
与子字符串
和lastIndexOf
解决方案不同,如果路径仅由数字组成,则这将去除路径的末端。您可以使用正则表达式:
document.location.pathname.replace(/\/\d+$/, "");
与子字符串
和lastIndexOf
解决方案不同,如果路径仅由数字组成,则这将去除路径的末端。这样如何:
var page = location.split("/");
page.pop();
page = page.join("/");
这个怎么样:
var page = location.split("/");
page.pop();
page = page.join("/");
@贾斯汀-我不想实际更改网站访问者的页面URL。相反,我想更新我们的内部跟踪JavaScript,以便在报告给后端跟踪脚本时去掉包含它们的URL的页码。JavaScript调用脚本并报告页面URL。它应该是一个相对简单的正则表达式,但我不确定它看起来像什么。谢谢你的帮助@拉塞尔最后的索引只会给你这个位置,因此你仍然需要替换。例如:var temp=page.substring(page.lastIndexOf(“/”),page.length-1);第页=第页。替换(临时“”;不幸的是,我在编码方面没有那么先进,所以在其他答案中可能有更高效的编码。对于我最初的回答给您带来的不便,我深表歉意。@Justin-我不想实际更改网站访问者的页面URL。相反,我想更新我们的内部跟踪JavaScript,以便在报告给后端跟踪脚本时去掉包含它们的URL的页码。JavaScript调用脚本并报告页面URL。它应该是一个相对简单的正则表达式,但我不确定它看起来像什么。谢谢你的帮助@拉塞尔最后的索引只会给你这个位置,因此你仍然需要替换。例如:var temp=page.substring(page.lastIndexOf(“/”),page.length-1);第页=第页。替换(临时“”;不幸的是,我在编码方面没有那么先进,所以在其他答案中可能有更高效的编码。很抱歉给您带来不便。@Andy-谢谢,这正是我需要的@安迪-谢谢,这正是我需要的!