历史记录.js书签对 HTML5 (pushState) 和 HTML4 (#) 的支持



我已经在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();"

相关内容

  • 没有找到相关文章

最新更新