Javascript Url哈希片段格式
我需要在散列片段中保存UI状态,我尝试了两种不同的方法: 1-具有查询字符串格式的哈希片段Javascript Url哈希片段格式,javascript,jquery,url,Javascript,Jquery,Url,我需要在散列片段中保存UI状态,我尝试了两种不同的方法: 1-具有查询字符串格式的哈希片段 #a=foo&b=bar 然后使用自定义函数获取一个值: getParam: function (parameter) { if(document.location.hash !== "") { var param = document.location.hash.substring(1).split("&"); for(var i in para
#a=foo&b=bar
然后使用自定义函数获取一个值:
getParam: function (parameter) {
if(document.location.hash !== "") {
var param = document.location.hash.substring(1).split("&");
for(var i in param) {
var keyValue = param[i].split('=');
if(keyValue.length === 2 && keyValue[0] === parameter) {
return $.trim(keyValue[1]);
}
}
}
return null;
}
2-带有json对象的哈希片段
#{"a":"foo","b":"bar"}
然后用
$.parseJSON(document.location.hash.substring(1))
最好的方法是什么?散列片段格式是否有特定的约定 最好的做法是不使用片段id。用于更改实际查询字符串 然后,当从头开始请求页面时,将其完全构建在服务器上 这:
- 避免了在立即用Ajax数据替换大块的基本页面之前加载基本页面的需要(在推特web应用程序移动到history api之前,这会使其使用起来很糟糕)
- 使链接对搜索引擎和其他非JS客户端友好