Сделайте так, чтобы кнопка Назад браузера работала на главной странице при использовании фреймов - PullRequest
1 голос
/ 24 марта 2011

У нас проблема с IE. На веб-странице с формой несколько фреймов создаются с помощью JavaScript. Это из-за какого-то дерьмового WYSIWYG. Проблема в том, что когда пользователь нажимает кнопку браузера «назад», вы ожидаете, что вся страница вернется назад. Это то, что происходит в FF, Chrome, Opera, Safari и т. Д. Но для IE вы должны нажимать кнопку «Назад» для каждого фрейма на странице, даже если вы ничего не делаете, кроме загрузки страницы.

Зная, что иногда на одной странице может быть +20 кадров (много текстовых полей), это настоящая боль для пользователей.

Вопрос: как заставить кнопку браузера вернуться на главную страницу, независимо от количества кадров на странице ?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

(после ответа Мартина Йесперсена)

Да, я тоже считаю, что это единственное решение. И это трудно реализовать, но есть много хороших библиотек для обработки # изменений.

Легкое решение jQuery: http://tkyk.github.com/jquery-history-plugin/.

Очень сложное решение с ExtJS: http://dev.sencha.com/deploy/dev/examples/history/history.html#tab1:subtab1.

И я думаю, что это невозможно сделать реально кросс-браузер без JavaScript.

0 голосов
/ 24 марта 2011

Один из способов сделать это - реализовать клиентскую маршрутизацию с использованием URL-адресов хеш-банга.

Каждый раз, когда страница изменяется в iframe, хеш-часть родительского URL-адреса изменяется, чтобы отразить ее.

Затем у вас есть несколько файлов js, которые прослушивают эти изменения и делают все необходимое для обновления полного состояния страницы между кадрами.

Теперь, когда пользователь нажимает кнопку «Назад», URL-адрес родителей изменяется на хэш, который был до последнего изменения в дочернем iframe, и все обновляется соответствующим образом.

Имейте в виду : это нетривиальная вещь, которую нужно реализовать, если у вас много фреймов, и я не могу дать вам рабочий скрипт, который решит вашу проблему. Это предназначено только для вдохновения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...