Bar*_*der 7 html javascript jquery
我如何将URL修剪/剥离到页面名称...
所以: http://www.BurtReynoldsMustache.com/whatever/whoever/apage.html
会成为: apage.html
有任何想法吗?
bob*_*nce 11
与location
任何链接(<a>
)页面上的元素,你得到的是给你的URL的特定部分特性的负载:protocol
,host
,port
,pathname
,search
和hash
.
你应该总是使用这些属性来提取URL的部分内容而不是黑客攻击,href
并且可能在角落情况下出错.例如,到目前为止发布的每个解决方案如果存在?query
或#fragment
存在则将失败.Rob和digitalFresh的答案试图处理它们,但如果/
查询字符串或片段中存在某个字符(有效),它仍然会失败.
相反,简单地说:
var pagename= location.pathname.split('/').pop();
Run Code Online (Sandbox Code Playgroud)
ccp*_*ava 10
你不需要jquery:
var url = window.location.href;
var page = url.substring(url.lastIndexOf('/') + 1);
Run Code Online (Sandbox Code Playgroud)
编辑:可能的查询字符串的一个好点:
// it might be from browser & / anywhere else
var url = window.location.href;
url = url.split('#').pop().split('?').pop();
var page = url.substring(url.lastIndexOf('/') + 1);
Run Code Online (Sandbox Code Playgroud)
好吧,如果位置对象可用,使用pathname会得到更好的结果,如下所示,但是,url可以是字符串或直接来自文本字段或span/label的内容.所以上述解决方案应该有它的位置.
这里的大多数解决方案都没有利用window.location对象。位置对象具有称为路径名的奇妙事物,它仅返回路径,不返回查询字符串,主机,协议,哈希等。
var mypage = window.location.pathname.split("/").pop();
Run Code Online (Sandbox Code Playgroud)