Странно работает document.body.innerHTML.replace ?
Вложений: 1
У меня есть необходимость замены картинки и параметров ссылки в зависимости от содержания двух массивов.
Весь скрипт срабатывает раз в несколько секунд обновляя содержимое массивов. //делает устройство недоступным try // >>> { offline_array=offline_dev.split(','); for(k=0; k<offline_array.length; k++) { document.all["onlineimg_"+offline_array[k]].src="./images/__discon.gif"; document.body.innerHTML = document.body.innerHTML.replace('off_'+offline_array[k], 'DevOffline(); return false;'); } } catch(err) { } // <<< //делает устройство доступным try // >>> { online_array=online_dev.split(','); for(k=0; k<online_array.length; k++) { document.all["onlineimg_"+online_array[k]].src="./images/__connect.gif"; document.body.innerHTML = document.body.innerHTML.replace('DevOffline(); return false;', 'off_'+online_array[k]); } } catch(err) { } // <<< //alert('online-'+online_array+' offline-'+offline_array); (проверяю содержимое массивов. см вложение) "переключение" (замена картинки и ссылки) в онлайн происходит нормально, а в оффлайн - не работает (((( В алерт выводил содержимое массивов. Оно соответствует действительности. А код не отрабатывает так как надо (((( Почему? |
выяснил в чем ошибка.
мой массив offline_array - почему то как строка себя ведет, хоть и объявлен заранее в виде: var offline_array = []; но попытка вывести первый элемент заканчивается тем, что выводится первый знак... есть ли еще способы преобразовать строку в массив, кроме split()? |
все. тему можно закрыть.
я неправильно их перебирал. не делал проверку на пустое значение элемента |
Часовой пояс GMT +3, время: 11:55. |