0

Я использую sammy.js с моим веб-приложением asp.net mvc для маршрутизации на стороне клиента, чтобы обеспечить возможность работы с одной страницей. Я создал демо-приложение, которое отлично работает в IE9 + и других современных браузерах. Однако во время работы в IE8 на XP и Win7 у меня возникла странная проблема. Во время просмотра этого сайта демоверсии IE8 запоминает обратную и передовую навигацию для первоначального просмотра, а затем полностью забывает историю просмотров или шаги, которые я предпринял для достижения текущей страницы . Таким образом, кнопка «Назад» отключается, так как история просмотра не связана. Это не происходит в других браузерах, и они помнят страницы, которые я просматриваю.Почему IE8 работает на XP и Win7 Virtual Machine, удаляет историю при просмотре одного и того же сайта с помощью маршрутизации javascript?

This is the link of the script that I have written where I have defined my sammy.js routes.

Структура моего приложения, как это - Пользователь:

  • приходит http://www.abc.com/
  • показана страница входа согласно #/ маршруту
  • , если проверка подлинности, домашняя страница , который является результатом действия ajax post.
  • На домашней странице есть много возможностей перейти на страницу сведений, которая является результатом действия ajax post.

Теперь IE8 запоминает только некоторые из этих шагов, но сам удаляет элементы истории в сеансе просмотра. Я пробовал использовать отладчик сценариев IE и ошибок не было.

На каждом маршруте я также пробовал использовать alert(history.length);, который дает различное случайное число. Я не ожидал, что +1 каждый раз я посещаю новую страницу. Then I found this support information on Microsoft's website. Disabling the automatic crash recovery feature didn't helped in this case.

Я не могу понять причину этой странной проблемы. Коды отлично работают для других браузеров. Я также попытался сбросить IE8 на XP и Win7.

Было бы очень полезно, если кто-нибудь может сказать мне, что мне не хватает или что-то не так.

Приветствия

+0

Работает ли IE8 в режиме совместимости с IE7? – matthijsb

+0

@GrooV Режим браузера и документа - IE8. Проверено как на XP, так и на Win7. –

ответ

0

Я действительно пытался много вещей, чтобы определить возможную причину вышеуказанного вопроса. Даже переписал весь мой навигационный код javascript и проверил серверный код.

Но единственное место, где я получил решение есть на сайте: enhanceie в котором говорится, что есть ошибка в IE8, которая читается как:

IE0012: IE Travellog сломана при перемещении назад/от страницы с большой формой POST. Если есть поле ввода формы со значением более длинным чем 523 659 символов, то при удалении от страницы IE может очистить travellog текущей сессии (аналогично истории), отключив назад и вперед кнопок. Repros в IE6 & IE7.

Существуют следующие решения, которые вы можете пойти на:

  • Проверить в поле ввода, которое имеет множество символов, как упоминалось выше, и решить вашу проблему.
  • Если у вас есть контроль над системой, в которой будет использоваться IE8, вы можете добавить следующий раздел реестра на этом компьютере. Там нет существующего ключа, поэтому вам нужно добавить новую:

    [HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ TravelLog] "MaxSize" = DWORD: FFFFFFFF

I я действительно расслаблен, чтобы найти эту информацию, поскольку я потратил очень долгое время на решение этой проблемы. Надеюсь, это поможет кому-то.