Подтвердить что ты не робот

Кнопки назад и вперед в iframe

Как "реализовать" кнопки назад и вперед в iframe с помощью JS?

4b9b3361

Ответ 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

https://developer.mozilla.org/en/dom/window.history

Ответ 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()">