Я заметил странное поведение Internet Explorer, когда моя страница находится внутри iframe. Кажется, что iframe перезагружается при вызове window.history.back(), хотя должен измениться только хэш в URL-адресе. Когда страница не находится внутри iframe, она ведет себя правильно и не перезагружает страницу. Любая идея, почему это происходит и как это предотвратить?
Я создал скрипт, демонстрирующий это в IE9:
jsfiddle использует iframe, поэтому поведение будет поведением iframe. Нажатие «#foo» и «#bar» изменит хэш в URL-адресе. Теперь нажатие на ссылку «НАЗАД» вызовет вызов window.history.back(). Обратите внимание, что временная метка меняется, когда вы это делаете, указывая на то, что страница перезагружается.
В качестве альтернативы, если вы загрузите iframe напрямую:
http://fiddle.jshell.net/peh96/5/show/
вы заметите, что временная метка не меняется при нажатии кнопки «НАЗАД». .
Это проблема только IE, так как Chrome и Firefox совместимы независимо от того, находятся они внутри iframe или нет.
Есть идеи, как предотвратить эту перезагрузку?