2014-01-20 2 views
0

Когда я предупреждаю, alert (window.parent.frames.length) в моей форме, хром возвращает неправильное количество кадров. Chrome возвращает 1 больше, чем любой браузер, что неверно. Мой набор кадров содержит максимум 3 кадра, но он возвращает 4. Это становится проблемой, когда я хочу решить свой целевой кадр на основе количества имеющихся кадров. Пожалуйста, помогитеGoogle chrome возвращает значение window.parent.frames.length больше, чем другие браузеры

ответ

0

Существует много причин, по которым у вас может быть больше кадров, чем ожидалось.

Мое предложение состоит в том, что вы добавляете класс к кадрам, которыми вы владеете и подсчитывать кадры, которые имеют только этот класс, например:

<frame class="test"></frame> 
<frame class="test"></frame> 

... 

<script> 
    var count = 0; 
    for(var i=0; i<window.parent.frames.length; i++) 
     if(window.parent.frames[i].className == "test") 
      count++; 
    alert(count); 
</script> 

PS: Немного не по теме, но почему вы используя рамки? Технология sorta умерла несколько лет назад.

+0

У меня есть набор кадров и фиксированный дизайн рамки, и я тестирую 3 других браузера (firefox, safari и IE), и он возвращает правильное значение. Только хром возвращает значение 1 больше, чем все другие браузеры. –

+0

Вы уже сказали это. Либо вы изменяете свой код, либо перерабатываете Chrome. :) – Christian

+0

Все, что будет работать для меня, пока я получаю одинаковое значение во всех браузерах :) Я проверил, и у меня нет дополнительных кадров. –

Смежные вопросы