Лучший способ получить объект iframe - PullRequest
2 голосов
/ 20 мая 2010

Мы используем слишком много фреймов в нашем веб-приложении. В этих фреймах мы загружаем страницы, которые также могут содержать фреймы и т. Д. До уровня N.

Сейчас я использую рекурсивную функцию, чтобы найти требуемый объект iframe в JavaScript. Это работает нормально, проблема в том, что мы создаем большие динамические страницы, которые могут содержать до 1000 фреймов. В этом случае моей рекурсивной функции требуется слишком много времени, чтобы найти нужный объект iframe.

Как я могу решить эту проблему или это любая альтернатива рекурсии в JavaScript.

Спасибо

1 Ответ

1 голос
/ 24 мая 2010

попробуйте зарегистрировать все iframe в массиве непосредственно перед загрузкой (пока пользователь все еще ждет). Таким образом, вам не нужно собирать все фреймы и только потом проходить через них. внизу вашей страницы ...

< /html>
< script>iframes=document.getElementsByTagName("iframe")< /script>

Все еще не совсем уверен, как вы идентифицируете каждый iframe - поэтому, если вы ищете конкретный идентификатор или src - попробуйте это как установочный массив

< /html>
< script>
iframes=document.getElementsByTagName("iframe")
var iframe_stuff=[]
var i=0
while(iframes[i])
{
iframe_stuff[i]=[]
iframe_stuff[i]["id"]=iframes[i].id
iframe_stuff[i]["src"]=iframes[i].src
i++
}< /script>

Так что, когда вам нужно пройти через свои фреймы, массив списка готов. Также не забывайте использовать 'break' после того, как вы нашли нужный фрейм. Если найденный вами iframe находится под номером 4, перерыв прекратит поиск и не проверит остальные ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...