У меня есть головоломка здесь, и это может быть просто ограничением JS, но вот код, и он работает ONCE. Тогда ... никогда больше. Не знаю, почему.Почему этот скрипт работает только один раз? Заменяет элемент только один раз, а затем никогда больше
Он в основном заменяет содержимое TD кодом, установленным в каждом вызове JS. Начальная таблица настроена так, чтобы просто открыть канал потока с устройства через IP через подключаемый модуль VLC. Когда страница загружается, код по умолчанию работает нормально в таблице.
Затем, когда я нажимаю на кнопку, она меняет местами из правильного кода, новый поток выстреливает, а затем он никогда не работает снова: (...
не кажется, что ничего удивительно трудно обрабатывать все же, Я, видимо, не хватает чего-то или, возможно, некоторые знания ограничений?
Спасибо за любой проницательности.
Blockquote
<table><tr><td id="TABLENAME">
<embed pluginspage="http://www.videolan.org"
type="application/x-vlc-plugin"
version="VideoLAN.VLCPlugin.2"
id="srcVIDEO4"
width="324"
height="132"
autoplay="yes" loop="no"
target="rtsp://192.168.88.235:556/stream.sdp" />
</td></tr></table>
<script>
function display556VIDEO4(){
var strVIDEO4 = '<embed pluginspage="http://www.videolan.org" \
type="application\/x-vlc-plugin" \
version="VideoLAN.VLCPlugin.2" \
id="srcVIDEO4" \
width="324" \
height="132" \
autoplay="yes" loop="no" \
target="rtsp://192.168.88.235:556/stream.sdp" />';
var tdElementVIDEO4 = document.getElementById('TABLENAME');
var trElementVIDEO4 = tdElementVIDEO4.parentNode;
trElementVIDEO4.removeChild(tdElementVIDEO4);
trElementVIDEO4.innerHTML = strVIDEO4 + trElementVIDEO4.innerHTML;
}
function display557VIDEO4(){
var strVIDEO4 = '<embed pluginspage="http://www.videolan.org" \
type="application\/x-vlc-plugin" \
version="VideoLAN.VLCPlugin.2" \
id="srcVIDEO4" \
width="324" \
height="132" \
autoplay="yes" loop="no" \
target="rtsp://192.168.88.235:557/stream.sdp" />';
var tdElementVIDEO4 = document.getElementById('TABLENAME');
var trElementVIDEO4 = tdElementVIDEO4.parentNode;
trElementVIDEO4.removeChild(tdElementVIDEO4);
trElementVIDEO4.innerHTML = strVIDEO4 + trElementVIDEO4.innerHTML;
}
function display558VIDEO4(){
var strVIDEO4 = '<embed pluginspage="http://www.videolan.org" \
type="application\/x-vlc-plugin" \
version="VideoLAN.VLCPlugin.2" \
id="srcVIDEO4" \
width="324" \
height="132" \
autoplay="yes" loop="no" \
target="rtsp://192.168.88.235:558/stream.sdp" />';
var tdElementVIDEO4 = document.getElementById('TABLENAME');
var trElementVIDEO4 = tdElementVIDEO4.parentNode;
trElementVIDEO4.removeChild(tdElementVIDEO4);
trElementVIDEO4.innerHTML = strVIDEO4 + trElementVIDEO4.innerHTML;
}
function display559VIDEO4(){
var strVIDEO4 = '<embed pluginspage="http://www.videolan.org" \
type="application\/x-vlc-plugin" \
version="VideoLAN.VLCPlugin.2" \
id="srcVIDEO4" \
width="324" \
height="132" \
autoplay="yes" loop="no" \
target="rtsp://192.168.88.235:559/stream.sdp" />';
var tdElementVIDEO4 = document.getElementById('TABLENAME');
var trElementVIDEO4 = tdElementVIDEO4.parentNode;
trElementVIDEO4.removeChild(tdElementVIDEO4);
trElementVIDEO4.innerHTML = strVIDEO4 + trElementVIDEO4.innerHTML;
}
</script>
<button style="background-color:green" type="button" onclick="display556VIDEO4()">6</button>-
<button style="background-color:green" type="button" onclick="display557VIDEO4()">7</button>-
<button style="background-color:green" type="button" onclick="display558VIDEO4()">8</button>-
<button style="background-color:green" type="button" onclick="display559VIDEO4()">9</button><br/>
Blockquote
Хм ... такой же проблема. Работал один раз, никогда больше. – user6179587
Это, кажется, не срабатывает вообще, но это покажет мне некоторые способы обойти это. Я снова пойду и вернусь. Спасибо, Шишир! – user6179587
ОК - ни один из вышеперечисленных не работает. Однако, возвращаясь к исходному коду, если вы удалите часть removeChild, то есть: «trElementVIDEO4.removeChild (tdElementVIDEO4);», из каждой функции она фактически работает - она просто не удаляет старый код и укладывается в стек, когда я удалить элемент, удалить его, я думаю, ID, а затем потеряться? – user6179587