我需要在哈希片段中保存UI状态,我尝试了两种不同的方法:
具有查询字符串格式的哈希片段
#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;
}
带有json对象的2-哈希片段
#{"a":"foo","b":"bar"}
然后使用
获取对象$.parseJSON(document.location.hash.substring(1))
最好的方法是什么?哈希片段格式是否有特定的约定?
答案 0 :(得分:2)
最佳做法是单独保留片段ID。使用the history api更改实际查询字符串。
然后,当从头开始请求页面时,完全在服务器上构建它。
此: