Как "реализовать" кнопки назад и вперед в iframe с помощью JS?
Кнопки назад и вперед в iframe
Ответ 1
Используйте объект window.history
.
// For the current window
window.history.back();
window.history.forward();
// For an iframe window
iframe.contentWindow.history.back();
iframe.contentWindow.history.forward();
или
iframe.contentWindow.history.go(-1); // back
iframe.contentWindow.history.go(1); // forward
Ответ 2
Кнопка в рамке:
<input type="button" value="Back" onclick="history.back()">
Кнопка в пределах родительского кадра:
<input type="button" value="Back" onclick="frame_name.history.back()">
Ответ 3
Обновление для 2017 года. Нет никакого способа сделать это, если происхождение содержимого iframe отличается от источника закрывающей страницы - если вы не контролируете контент в удаленном источнике и можете принять его postMessage
события, Если источник совпадает, старые ответы все еще работают.
Ответ 4
Спасибо всем за ваши ценные указания:-) Мне удалось начать с ваших предложений и строить их немного дальше.
У меня есть веб-страница с двумя вертикальными рамками: узкий столбец слева для строки меню (фрейм name= "меню" ) и главное окно справа (рамка name= "main" ), охватывая большую часть ширины. I.e., index.htm содержит только набор фреймов по всей поверхности. Теперь... чтобы обратиться к общей "обратной" проблеме навигации в моем простом наборе фреймов, мне удалось использовать предложение Павла Страхова с кнопкой ввода = кнопка - только мне пришлось немного проработать путь DOM. Поскольку у меня есть кнопка в рамке "меню" слева, а контент, который должен быть перемещен, происходит в "главном" кадре справа, два кадра - это братья и сестры, а не родительский или дочерний. Таким образом, в моем случае мне пришлось пройти один уровень вверх по иерархии, прежде чем я смог обратиться к фрейму родного брата. В результате, в моем случае элемент кнопки читает
<input type="button" value="Back in the main frame" onclick="window.parent.main.history.back()">