時限ループを追加したいことを除いて、完全に機能するスクリプトを作成しました。私はJavascriptを初めて使用し、数日間これに頭を悩ませてきました。専門家が私を助けてくれることを願っています。
また、FireFoxで動作するためにこれが必要なだけです!
このスクリプトは、XMLからデータを取得しています。XMLに何も見つからない場合、ページは通常どおり表示されます。何かが見つかった場合は、見つかった情報を表示するポップアップdivを作成し、オーディオファイルを再生します。
ポップアップは、外部CSSスタイルシートを呼び出してXMLセットに何も見つからない場合、可視性が非表示に設定された単純なdivです。何かが見つかった場合は、別のスタイルシートを参照し、オーディオファイルを再生し、表示されているdiv設定をtrueに変更します。
このスクリプトが20〜30秒ごとにXMLファイルをチェックし続けるように、どういうわけかループを追加する必要があります。何かが見つかった場合は、非表示のDIVが表示され、音声アラートが再生されます。このスクリプトは、ページをリロードせずにスクリプトをループさせることができないという事実を除いて、完全に機能します。
<head>
これもタグに入れておきたいです。
<head>
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","xml/SearchRequest-11988N.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
xtotaltickets=xmlDoc.getElementsByTagName("issue")[0].getAttributeNode("total");
totaltickets=xtotaltickets.nodeValue;
ytotaltickets=parseInt(totaltickets);
if (ytotaltickets<1)
{
document.write("<link rel='stylesheet' type='text/css' href='notickets.css'>");
}
else
{
document.write("<link rel='stylesheet' type='text/css' href='newtickets.css'>");
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'newticket.ogg');
audioElement.play();
}
</script>
繰り返しますが、FireFoxで動作するために必要なのはこれだけです!