Extjs preferuje aplikację jako pojedynczą stronę,ale nadal chcę mieć możliwość odświeżania strony i utrzymywania mojej aktualnej lokalizacji w aplikacji, a także wprowadzania adresu URL, aby przejść bezpośrednio do określonego punktu w aplikacji. Czy istnieje rozwiązanie tego problemu?
Odpowiedzi:
2 dla odpowiedzi № 1Tak, robię to samo w mojej aplikacji. W tym celu można użyć mechanizmu historii Ext JS. Spójrz na ten przykład z Sencha.
Możesz posłuchać wydarzenia zmiany historii w ten sposób
Ext.History.on("change", function(token) {
// you navigate-to-target code goes here, e.g. change the viewport content
}
Następnie możesz zainicjować nawigację, ustawiając skrót przeglądarki na jakiś cel nawigacji
document.location.hash = yourNavigationToken;
Daje to również możliwość korzystania z głębokiego linkowania i nawigacji do przodu / do tyłu za pomocą przycisków przeglądarki.
Musisz zainicjować historię:
// The only requirement for this to work is that you must have a hidden field and
// an iframe available in the page with ids corresponding to Ext.History.fieldId
// and Ext.History.iframeId. See history.html for an example.
Ext.History.init();
i dodaj do swojej strony ramkę iframe i ukryte pole wejściowe, jak w przykładzie:
<form id="history-form" class="x-hide-display">
<input type="hidden" id="x-history-field" />
<iframe id="x-history-frame"></iframe>
</form>