如何使用多个哈希
How to use multiple hashes?
目前我使用Ben's Alman jquery-hashchange插件在哈希中使用页码:
$(document).ready(function(){
$(window).hashchange( function(){
var hash = (location.hash) ? location.hash.slice(1) : 'page1';
$.ajax({
url: '/list/' + hash, // result url like page1, page2 etc.
现在我需要在那里添加一个值- filter
。我认为结果哈希URL可以像
#page1&filter=1-1-0
#filter=1-1-0 (if page number is omitted)
#page1 (if filter is not defined)
如何解析?即如何理解page
是否被定义,如果filter
被定义(以及1
, 1
和0
的值是什么-我分别需要它们)?
我正在考虑本的Alman BBQ插件,但是(1)它看起来太复杂了,这样简单的任务,(2)不确定如何使用参数(page1, page2等)没有值。
非常简单且不可扩展的两个硬编码变量解析器:
var hash_parts = location.hash.split('&', 2); //2 - limit, may be changed if more than two arguments
for(i in hash_parts) {
if(hash_parts[i].indexOf("page") === 0) { //begins with "page"
var current_page_number = hash_parts[i].substr(4);
}
else if(hash_parts[i].indexOf("filter") === 0) { //begins with "filter"
var filter = hash_parts[i].split('=', 2);
var filer_values = filter[1].split('-'); //filter_values == {'1', '1', '0'}
}
}
你可以很容易地使它通用。
请,也看看这里:在JavaScript中解析查询字符串-只需将window.location.search.substring(1)
更改为哈希。
相关文章:
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- 在我的图库(jQuery)中使用箭头导航时,更改URL中的哈希
- 在Javascript中,如何使用对象作为哈希映射的键
- 使用 JavaScript 计算 Blob 的哈希值
- 我能确定这个页面赢了吗;如果我使用`location.replace`来更改哈希,则不会重新加载
- 如何使用哈希提取URL参数
- 使用history.back/forward在哈希更改时重新加载页面
- 使用 Javascript 根据 URL 哈希设置所选选项
- 哈希重定向之前使用斜杠的主干路由
- 如何使用JavaScript获取包含哈希片段的先前url
- 如何使用哈希对数组进行排序
- 如何使用加密创建随机盐哈希
- 使用带有哈希标签的链接处理类似Facebook的按钮信息(标题和图像)
- 使用director.js执行基于哈希的函数
- 使用javascript的文件的MD5哈希
- javascript:使用哈希字符拆分HREF字符串
- 使用PHP和Javascript为每个用户电子邮件生成新的哈希
- 使用Flexslider进行哈希URL导航
- 导演.js和涡轮链接 - 更改窗口哈希并使用然后返回
- 如何从哈希url使用id更改内容