Кнопка возврата с рамками - PullRequest
       39

Кнопка возврата с рамками

1 голос
/ 31 декабря 2008

Я использую iframe для отображения контента со ссылками. Когда пользователь щелкает в iFrame и нажимает «назад», он возвращается в iFrame. Это поведение в порядке. Однако, как только они возвращаются на первую страницу iFrame и снова нажимают «назад», все окно возвращается на предыдущую страницу. Это нежелательно.

Чтобы предотвратить такое поведение, я поместил в iFrame фальшивую кнопку «назад». (В большинстве случаев это плохой интерфейс, в этом случае он работает хорошо). Я хотел бы, чтобы эта поддельная кнопка возврата возвращалась только в том случае, если предыдущая страница была страницей iFrame, а не всей страницей. Когда они нажимают на фальшивую кнопку возврата в iFrame, он должен только переместить этот iFrame назад, ничего больше. Есть ли способ сделать это? Получает ли iFrame свой собственный объект истории?

Что-то, что могло бы принести пользу: можно предположить, что домен iFrame и главное окно различны. Итак, если возможно прочитать «глобальный» объект истории, я могу проверить, была ли предыдущая страница моей, и проверить, принадлежит ли мой домен. Если домен не мой, фальшивая кнопка назад будет скрыта или ничего не делать.

Помощь с благодарностью и счастливых праздников!

Ответы [ 2 ]

3 голосов
/ 15 мая 2012
document.location.href = document.referrer;
2 голосов
/ 31 декабря 2008

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

  • Вы могли бы написать свой собственный код отслеживания истории и сделать так, чтобы кнопки «назад» выталкивали элементы из этого стека, останавливаясь, когда стек пуст ...
  • Если вы используете сложное вложение ссылок - возможно, какое-нибудь древовидное меню на основе javascript? Таким образом, у iframe никогда не будет обновления страницы?

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

...