Изменение значения iframe SRC не обновляет iframe в IE6 - PullRequest
0 голосов
/ 01 июля 2010

У меня есть массив из двух URL, которые я читаю и передаю в значение iframe src, используя:

document.getElementById("iframe").src = unescape(dashboard.url);

Сразу после этой строки я выдаю предупреждение (document.getElementById ("iframe").src), который все работает нормально.

Моя проблема в том, что первый URL в массиве загружается правильно, и в предупреждении отображается правильный URL, используемый iframe.

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

Я что-то упустил - это какая-то ошибка IE6, поскольку, как я вижу, второй кадр iframe не вызывается.

Я заметил это, поставив onLoad = "alert ('Test');"в моем iframe, и он появился только один раз, а НЕ во второй раз для второго URL.

Любые идеи?

Кстати, я использую вызов setTimeout () для циклического перемещения по массивам.

Спасибо.

1 Ответ

0 голосов
/ 01 июля 2010

См. Это в действии. (работает x-browser)

<iframe id="rotator" src="http://...first"></iframe>

<script>
// start when the page is loaded
window.onload = function() {

  var urls = [
    "http://...first",
    "http://...second",
    // ....
    "http://...tenth" // no ,!!
  ];

  var index = 1;
  var el = document.getElementById("rotator");

  setTimeout(function rotate() {

    if ( index === urls.length ) {
      index = 0;
    }

    el.src = urls[index];
    index  = index + 1;

    // continue rotating iframes
    setTimeout(rotate, 5000);

  }, 5000); // 5000ms = 5s
};
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...