我已经在HTML5和HTML4浏览器中通过历史记录.js的后退和前进按钮工作。
我现在正在尝试通过解析 url 并在查询字符串中加载内容来添加书签支持。 我通常用于执行此操作的代码是:
var urlParams = {};
(function () {
var match,
pl = /+/g,
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
这适用于HTML5,但显然不适用于HTML4。 解析HTML4中的哈希和HTML5中的子字符串的好方法是什么?
页面上找到了一个解决方案: https://getsatisfaction.com/balupton/topics/history_js_and_retrieving_state_from_a_url
"但是,您可以从我的一个名为jQuery Sparkle的实用程序项目中使用此函数来执行所需的操作:https://github.com/balupton/jquery-sparkle/blob/master/scripts/resources/core.string.js#L164
所以你会这样做:
var State = History.getState(), dataQuery = State.url. queryStringToJSON();"