в общем то на стеках так (чере зманкипатчинг) и решают проблему. Вообще я тоеж был удивлен в свое время что нет onpushstate эвента. он пиздец как нужен. я уже сталкивался с такой проблемой, вспомнил. а мое решение выше это для history back/forward. и видимо столкнусь еще и с onpushevent'ом :)))
ибо там сложная хуета