2011-11-25 9 views
2

申し訳ありませんが、ここが問題です。私たちには、さまざまな施設全体で状況の更新を表示するウェブサイトがあります(すべてLCDにはフルスクリーンのIEページがあります)。今すぐWYSIWYGエディタで管理ページに行き、メッセージ/アップデートを入力して.txtファイル(alert.txt)に保存し、AJAX経由で画面上のページを更新します。画面上のページは、5秒の設定間隔で更新をチェックします。更新が与えられたときAJAXと一度音を鳴らす

は、私が今やりたいことは警告するサウンドを再生している私は、これに呼び出す

<body onload="window.setTimeout('loadXMLDoc()',1000);"> 

を使用

(画面は唯一の重要なネットワークエラーなどが表示されます):

<script type="text/javascript"> 
function loadXMLDoc() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 
} 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("changes").innerHTML=xmlhttp.responseText; 
    } 
} 
xmlhttp.open("GET","alerts.txt",true); 
xmlhttp.send(); 
} 
</script> 

私はテキストファイルに(Flashオブジェクトのロード時に一度、それを果たしているFlashオブジェクトを作成した)埋め込みHTMLコードを介して、サウンドクリップを追加しようとしたが、これが原因繰り返しごとに1回再生する必要があります。変更がない場合でも。

Halp?

+1

これはjQueryとPHPをタグ付けされているのはなぜ? – ManseUK

+0

テキストファイルはPHPで編集されていますが、Jqueryは間違いです。しかし、ちょうどタグナチであるか、質問に答えるためにここに来ましたか? –

+1

私はjQueryの質問に答えようとここに来ました...しかしあなたの礼儀正しいと思ったので、私の答えを追加します.... – ManseUK

答えて

0

代わりのalerts.txtにフラッシュを追加changes div要素が更新された後、新しいDOMオブジェクトを作成します。

if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("changes").innerHTML=xmlhttp.responseText; 
    // Add Flash object to DOM 
    var emb = document.createElement("embed"); 
    emb.setAttribute("type","application/x-shockwave-flash"); 
    emb.setAttribute("autostart","true"); 
    emb.setAttribute("data","<your url>"); 
    } 
} 

をあなたのサウンドフラッシュファイルのURLと一致し、追加するURLを変更する必要がありますあなたが設定する必要のある属性

オブジェクトが毎回作成されるという点でこのアプローチには問題があります。そのため、最初に要素を削除してから再度追加することができます。

はまた、この答えをチェックしてください - >Playing dynamically embedded sound object via Javascript

+0

コードは機能していません、埋め込みは作成されていません。 –

関連する問題