1

我在 HTML5 和 HTML4 浏览器中都有通过 History.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 中的子字符串的好方法?

4

1 回答 1

2

在此页面上找到了解决方案: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();"
于 2012-11-24T18:00:28.477 回答