Ali Majed HA Ответов: 1

Брови назад iFrame внутри iFrame


Привет

У меня есть iframe в HTML странице и у меня есть кнопки в iframe. Я хочу, чтобы после нажатия кнопки источник iframe сделал один шаг назад.

например, если первый soure google.com и я меняю источник на w3schools.com нажав "Visit:W3Schools pleas", когда я нажимаю кнопку назад, источник iframe возвращается к google.com

Что я уже пробовал:

Я попробовал некоторые из этих кодов в своей функции javascript в качестве кнопки возврата " onClick ()".
iframe.contentWindow.history.back();

document.getElementById("myIframeID").contentWindow.history.back();

window.history.back();


мой Main.html
<iframe src="StudentList.html">



мой StudentList.html
<!-- There is a list of student that I get from my database and make the list
      dynamically by createElement("LI") that you can click on every student to
      see the details, and you will be redirected to StudentDetai.html
      by changing the iframe source-->


мой StudentDetail.html
<h1> Student Info </h1>
<p id="Detail"><p> <!-- This Paragraph ill be filled when user click on a student
           to see his detail, it will be filled from data base -->
<input type="button" value="GoBack" onClick="GoBack();">


мой StudentDetail.js
 function GoBack()
{
  window.history.back();
}


Опять же, моя кнопка "Назад" находится внутри моего iframe.
Заранее спасибо

Thomas Daniels

Вы хотите сказать, что кнопка "назад" - это часть страницы, отображаемая в iframe Или это все еще часть главной страницы, но отображается на iframe?

Ali Majed HA

Здравствуйте, я имею в виду, что это часть страницы, которая отображается в iframe.

1 Ответов

Рейтинг:
7

Thomas Daniels

Если кнопка Назад является частью страницы, отображаемой в iframe, то вы должны запустить ее в событии onClick:

window.history.back();

Я вижу, что это есть в вашем списке "что я пробовал"... но я ожидал, что это сработает, и когда я попробовал это сделать, это сработало.


Ali Majed HA

Спасибо за Вашу помощь, но, как вы уже упомянули, я уже пробовал это сделать. Я уверен в своей функции onClick.Он работает для некоторых других действий, таких как alert(); Но он не будет работать для резервного копирования истории.

Thomas Daniels

Не могли бы вы поделиться своим текущим кодом для обработки onClick?

Ali Majed HA

Я поделился им, обновив вопрос. извините за мою задержку, код находится в tfs, и я должен написать код здесь, я не могу их скопировать.

Thomas Daniels

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

Ali Majed HA

У меня есть закодированный JavaScript-файлы в .файл JS и использовать ссылку в StudentDetail.html. эта функция отлично работает для других кодов. Я не использовал ни одного тега скрипта в StudentDetail.html за исключением ссылки на StudentDetail.js где у меня есть задняя функция

Thomas Daniels

Окей. Какие-нибудь ошибки в консоли браузера?

Ali Majed HA

Нет, я отладил его с помощью firebug, и он говорит, что у меня нет ошибки.

Thomas Daniels

Странный. Тогда это должно сработать.

Обратите внимание, что ваш закрывающий тег <p> На самом деле не закрывается. Но я не думаю, что это будет иметь значение для JavaScript-части.

Ali Majed HA

это правильно в моем основном коде, так как я спешил набрать код для вас-у меня была ошибка.

Thomas Daniels

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

Ali Majed HA

Заранее благодарю вас за то, что вы уделяете свое драгоценное время решению моей проблемы.

Ali Majed HA

У меня нет дополнительного кода в моем StudentDetail.html exept скрипт для ссылки на файл. js

Ali Majed HA

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

Thomas Daniels

А, понятно. Это все еще очень много времени... возможно, требуется много времени, чтобы получить данные из базы данных? На это стоит взглянуть.

Ali Majed HA

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