делать:

то теперь, когда HTML5 вводитhistory.pushState чтобы изменить историю браузеров, веб-сайты начинают использовать это в сочетании с Ajax вместо изменения идентификатора фрагмента URL.

К сожалению, это означает, что эти звонки не могут быть обнаружены большеonhashchange.

Мой вопрос: Есть ли надежный способ (взломать?;)), Чтобы определить, когда веб-сайт используетhistory.pushState? В спецификации ничего не говорится о возникающих событиях (по крайней мере, я ничего не смог найти).
Я попытался создать фасад и заменилwindow.history с моим собственным объектом JavaScript, но это никак не повлияло.

Дальнейшее объяснение: Я разрабатываю дополнение для Firefox, которое должно обнаруживать эти изменения и действовать соответственно.
Я знаю, что был похожий вопрос несколько дней назад, который спрашивал, слушают ли некоторыеDOM события было бы эффективно, но я бы предпочел не полагаться на это, потому что эти события могут быть сгенерированы по разным причинам.

Обновить:

Вот jsfiddle (используйте Firefox 4 или Chrome 8), который показывает, чтоonpopstate не срабатывает, когдаpushState называется (или я делаю что-то не так? Не стесняйтесь, чтобы улучшить это!).

Обновление 2:

Другая (побочная) проблема заключается в том, чтоwindow.location не обновляется при использованииpushState (но я читал об этом уже здесь, так что я думаю).

Ответы на вопрос(1)

Ваш ответ на вопрос