Как отключить pushstate для Chrome?(для Davis.js) - PullRequest
1 голос
/ 26 марта 2012

Как отключить pushstate для Chrome (для тестирования)?

Бонус, если вы знаете о плагине, который позволяет легко переключаться:)

Я использую davis.js для моей логики pushstate .

Ответы [ 2 ]

3 голосов
/ 26 марта 2012
history.pushState = function (){};
//An empty function so if it is used, it doesn't throw any errors

Поместите это в консоль.Тада!Вы можете легко создать расширение Chrome, которое выполняет его на странице, используя скрипт содержимого.

1 голос
/ 27 марта 2012

Причина, по которой ваши маршруты Davis.js все еще работают, заключается в том, что когда вы нажимаете на ссылку, она запускает ваши маршруты напрямую, поскольку событие onPushState отсутствует, однако вы должны обнаружить, что использование кнопок «назад» и «вперед» больше не вызывает ваши маршруты.

Если вы хотите подражать тому, что происходит в браузере, который не поддерживает pushState, вы можете поэкспериментировать с тем, как Davis.js проверяет поддержку. Это делается в функции Davis.supported .

Вы можете переопределить эту функцию, чтобы всегда возвращать false, что обычно происходит в браузере, который не поддерживает pushState. Если вы хотите, чтобы вы могли обернуть это в расширение Davis.js, см., Например, блочное расширение iOS *1008*.

...