jquery - 使用动态值检测 URL 变化
问题描述
我正在尝试检测 URL 更改,但 URL 在哈希后具有动态值,例如:http://myurl/#!/contact/179593927
.
我能够完成以下工作,但http://myurl/#!/contact/
仅限于,但不能在http://myurl/#!/contact/123456789
.
$(window).on('hashchange', function(e){
if (location.hash === '#!/contact/') {
$('.controls-bar-1').appendTo('.contact-mod');
$('.controls-bar-2').appendTo('.contact-mod');
}
});
请指出正确的方向。
解决方案
问题是因为您正在检查 URL 片段的确切值。如果您想检查该/contact
部分是否存在而不管是否提供了值,您可以使用indexOf()
仅检查片段的开头,如下所示:
if (location.hash.indexOf('#!/contact/') === 0) {
$('.controls-bar-1, .controls-bar-2').appendTo('.contact-mod');
}
推荐阅读
- python - Pysoundfile 库未导入
- python-requests - 如何通过 Instagram 上的直接消息发送视频?
- html - 有粘性元素时如何将div移到前台?
- php - 如何在laravel中使用辅助键获取记录
- python - 在 python 中渲染 obj 文件
- pandas - Pandas 指的是采样时间序列的组的开始和结束日期
- html - 具有“边界半径:100%;” 当字体大小改变时作为一个理想的圆圈
- python - Pandas 突然更改日期格式
- python - 将颜色条置于 2d 直方图上方(而不是下方)
- soot - 在 Soot 中为 java 代码使用类和方法