temporay配列を割り当て、各インデックスをSubtitle配列に渡すためのstart、dur、およびtextを含む字幕XMLファイルがあります。インデックスが0の字幕配列を見たい場合は、start、dur、textを含む最初のテキスト行を印刷する必要がありますが、代わりに最後のテキスト行を印刷します。間違った結果が表示されます、
467.071,3.643、ご覧いただきありがとうございます。購読、評価、コメントをお願いします
インデックス50を試しましたが、それでも最後の行が出力されます。間違ったループに追加しますか?
これがXMLの最初の3行のサンプルです(合計テキスト行は136です)。
<transcript>
<text start="2.014" dur="1.276">Greetings fellow nerds.</text>
<text start="3.291" dur="3.446">In this video we're going to make glow sticks of various colors</text>
<text start="6.738" dur="2.277">and explain a few interesting points about them.</text>
</transcript>
ここにjavascriptの例、
<script type="text/javascript">
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
function init()
{
var subtitleArray = new Array();
var tempArray = new Array();
var c = document.getElementById('container');
captionsDoc = loadXMLDoc("captions.xml");
x=captionsDoc.getElementsByTagName('text');
for(i=0;i<x.length;i++)
{
tempArray[0] = x[i].getAttribute('start');
tempArray[1] = x[i].getAttribute('dur');
tempArray[2] = x[i].childNodes[0].nodeValue;
subtitleArray[i] = tempArray;
}
c.innerHTML = subtitleArray[0];
}
window.onload = init;
</script>