Я думаю, что лучший обходной путь для этого - вообще не обходить его.
Причина: во-первых, скрипт, работающий на этой странице, должен быть прерван, если я использую кнопку возврата или вызывается history.back()
. Следовательно, в вашем обходном пути выше сценарий (или должен) фактически прекратит работу перед вызовом location.replace()
. Мы не можем вспомнить, что вы хотели вызвать location.replace () и сделать это на странице, на которую вы вернулись, потому что это было бы проблемой безопасности внедрения сценария.
Во-вторых, даже если бы этот обходной путь работал, я бы очень рекомендовал его не использовать. Причина в том, что Opera со временем исправит ошибку. Если конечный пользователь использовал исправленную версию Opera и страницу, на которой выполнялся ваш скрипт, каждый щелчок по одной из ваших ссылок удалял одну запись из истории просмотра этого пользователя.
Для правильного решения вы можете исследовать history.replaceState()
- новый метод, указанный в HTML5: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#dom-history-replacestate