History.js выпуск - PullRequest
       6

History.js выпуск

0 голосов
/ 07 ноября 2011

Я получил свой API истории, однако я пытаюсь реализовать History.js, но не могу получить доступ к state.data. Я хочу использовать строку в state.data to9 для вызова соответствующей функции. Хотя моя концепция хорошо работает для 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>

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 08 ноября 2011

Правильный способ вызова каждого из них следующий: обратите внимание, что у onclick нет javascript: и данные о состоянии указаны в кавычках!

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

Надеюсь, это поможет! Pete

...