Я замечаю странное поведение 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 или нет.
Есть идеи, как предотвратить эту перезагрузку?