Я использую платформу Ext Sencha для следующего сценария:
Ext.History.init()
Ext.History.on('change', function() { alert('zomg change!!11') }
Ext.History.add('zomg-token')
Однако приведенный выше код не работает в браузере, совместимом с HTML5 (проверено на Chromium), из-за следующей проверки в методе .add ():
add: function(token) {
window.location.hash = this.setToken(token);
if (!Ext.supports.History) { // <- this prevents the firing off of the event
this.onChange();
}
}
Мне просто интересно, есть ли какое-то объяснение за этим, поскольку в классе History, похоже, нет метода, который оборачивал бы нативную привязку события hashchanged.
Я бы хотел избежать непосредственного использования нативных API-интерфейсов и, скорее, сделать так, чтобы он был красиво обернут с некоторой библиотекой lib, которая обеспечивает ухудшение работы для браузеров HTML4, но в настоящее время это не относится к инфраструктуре Sencha.
Пожалуйста, дайте мне знать, если вы знаете, как заставить это работать.