使用Javascript从url中获取空哈希值
Get empty hash value from url with Javascript
使用window.location.hash
我得到这个:
http://example.com --> ''
http://example.com# --> ''
http://example.com#ahihah --> '#ahihah'
然而,我需要区分这两种情况:
http://example.com --> ''
http://example.com# --> '#'
http://example.com#ahihah --> '#ahihah'
因此,当url中没有哈希时(第一种情况),可以有一个空字符串,但如果有哈希符号,我希望有值'#'
。这在JavaScript中可能吗?
我已经试过了。
var hash = window.location.hash;
var href = window.location.href;
if (hash !== '') {
return link.hash;
}
if (href.slice(-1) === '#') {
return '#';
}
return '';
但看起来是一种容易出错的方法。可能是url中的查询字符串以#
结尾,并且函数将落入第二个返回'#'
而不是''
的if
中?
您的方法运行良好。
查询字符串中不能有#
(它需要编码为%23
,然后编码为href.slice(-1) === 3
),因为这将被解释为哈希的开始,而不是查询字符串的一部分。
相关文章:
- 在Javascript中实现对哈希值的暴力攻击
- 用户单击带有哈希值的链接以访问该页面,如果禁用Javascript会发生什么情况
- 如何从文档 URL 获取哈希
- 要发送到控制器的 HREF 链接中的哈希值
- 使用 JavaScript 计算 Blob 的哈希值
- JavaScript 文件哈希值与文件的一部分一起生成
- JavaScript 隔离哈希值
- JavaScript 获取以前的哈希值
- 获取哈希并存储在变量中
- 设置使用 window.open() 打开的空白页的哈希值
- Chrome 不返回哈希值
- Javascript 使用哈希值重新加载页面
- 为什么从其他网络返回会保留最后一个哈希值,同时显示第一个哈希值的内容
- 来自 Javascript 和 PHP 的不同哈希值
- 使用Javascript从url中获取空哈希值
- 如何使用JS重定向到具有哈希值的引用URL
- 获取哈希值而不将其分配给变量
- 在单击事件/函数期间获取URL哈希值
- 在nodejs中通过url获取哈希值
- 如何使用f.select获取静态哈希值