Производительность не является проблемой, все современные браузеры теперь поддерживают событие onhashchange изначально и поэтому не требуют проверки интервала.
- Подробнее -
Плагин jQuery History использует тест 200 мс для браузеров старшего поколения , которые не реализуют событие onhashchange
изначально. Без этого события, реализованного изначально, вы должны обойти его функциональность с помощью изменения интервала - просто нет другого пути, насколько мне известно. К счастью, последние версии всех основных браузеров теперь изначально поддерживают событие onhashchange, поэтому эта проверка больше не нужна.
Давайте рассмотрим, что делает эта проверка с интервалом 200 мс. Если они работают в IE6 или 7, он будет проверять состояние iframe (так как в этих браузерах iframe требуется для эмуляции кнопок «назад» и «вперед» - где для других браузеров iframe не требуется). Если они используют другой более старый браузер, который не является IE, тогда он может просто использовать location.getHash()
в чеке (без iframe, как описано выше). Оба типа проверок спроектированы так, чтобы быть чрезвычайно быстрыми и минимально возможными, сводя к минимуму необходимые накладные расходы. Все дело в том, что браузер на самом деле хочет вам позволить, и пытается сделать это с использованием как можно менее интенсивного кода.