Javascript History.js问题

Javascript History.js问题,javascript,html,history.js,Javascript,Html,History.js,我让我的history API正常工作,但是我试图实现history.js,但似乎无法访问state.data。我想使用state.data中的字符串调用相应的函数。虽然我的概念适用于History API,但不适用于History.js,我的代码如下所示: (function (window, undefined) { var History = window.History; // Note: We are using a capital H instead of a lower h

我让我的history API正常工作,但是我试图实现history.js,但似乎无法访问state.data。我想使用state.data中的字符串调用相应的函数。虽然我的概念适用于History API,但不适用于History.js,我的代码如下所示:

(function (window, undefined) {
    var History = window.History; // Note: We are using a capital H instead of a lower h
    if (!History.enabled) {
        // History.js is disabled for this browser.
        // This is because we can optionally choose to support HTML4 browsers or not.
        return false;
    }

    // Bind to StateChange Event
    History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate
        var State = History.getState(); // Note: We are using History.getState() instead of event.state
        alert(State.data);
        if (State.data != null) {
            var strFun = State.data;
            alert(strFun);
            //Create the function call from function name and parameter.
            var mySplitResult = strFun.split(",");
            //var strParam = "null";
            //Call the function and arguments 
            window[mySplitResult[0]](mySplitResult[1], mySplitResult[2]);
        }
    });
})(window);
我的链接如下:

<li>
  <a href="#" onclick="javascript:History.pushState({state:newarticles},'New Articles','newarticle'); return false;">Articles</a>
</li>
<li>
  <a href="#" onclick="javascript:History.pushState({state:displaybookmarks},'Favourties','favourties'); return false;">Favourites</a>
</li>
<li>
  <a href="#" onclick="javascript:History.pushState({state:pagenation},Listing,1,'Archive','archieve1'); return false;">Archive</a>
</li>

任何帮助都将不胜感激。

给每个人打电话的正确方式如下。。。注意,onclick没有javascript:,并且状态数据被引用

<a href="#" onclick="History.pushState({state:'newarticles'},'New Articles','newarticle'); return false;"&gt;Articles&lt;/a>
希望有帮助!
PEte

将尝试并记录我的结果确定当我提醒我的状态时,这仍然不起作用。我得到的数据是对象而不是字符串。如何让state.data显示字符串而不是对象。我可以使用state.title而不是state.data。由于某种原因,state.data似乎仍然保存着一个对象。它将状态推入对象是因为您将其作为对象推入。而不是执行.pushSate{state:'newarticles'},新的。。。试着这样做。pushStatenewarticles,NewArticles…我已经试过了,但没有成功。实际上,它在HTML5的常规历史API中工作得很好,但在History.js中没有