Javascript AJAX和播放一次声音

Javascript AJAX和播放一次声音,javascript,ajax,flash,Javascript,Ajax,Flash,好吧,问题来了。我们有一个网站,在我们的各个设施中显示状态更新(他们都有带有全屏IE页面的LCD)。现在,我使用所见即所得编辑器进入我的管理页面,输入消息/更新,它将其保存到一个.txt文件(alert.txt)中,并通过AJAX在屏幕上更新页面。屏幕上的页面以设定的5秒间隔检查更新 我现在想做的是播放一个声音,在更新时发出警报(屏幕仅显示严重的网络错误等) 我用 这就要求: <script type="text/javascript"> function loadXMLDoc(

好吧,问题来了。我们有一个网站,在我们的各个设施中显示状态更新(他们都有带有全屏IE页面的LCD)。现在,我使用所见即所得编辑器进入我的管理页面,输入消息/更新,它将其保存到一个.txt文件(alert.txt)中,并通过AJAX在屏幕上更新页面。屏幕上的页面以设定的5秒间隔检查更新

我现在想做的是播放一个声音,在更新时发出警报(屏幕仅显示严重的网络错误等)

我用


这就要求:

<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>

函数loadXMLDoc()
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“更改”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“alerts.txt”、true);
xmlhttp.send();
}
我曾尝试通过嵌入HTML代码(创建了一个Flash对象,在加载Flash对象时播放一次)将声音片段添加到文本文件中,但这会导致每次迭代播放一次声音片段。即使没有变化


Halp?

更新
更改
div后,创建一个新的DOM对象,而不是将闪存添加到
警报.txt中:

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>");
  }
}
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“更改”).innerHTML=xmlhttp.responseText;
//将Flash对象添加到DOM
var emb=document.createElement(“嵌入”);
emb.setAttribute(“类型”、“应用程序/x-shockwave-flash”);
emb.setAttribute(“自动启动”、“真”);
emb.setAttribute(“数据”,“数据”);
}
}
您需要更改URL以匹配声音flash文件的URL,并添加需要设置的任何属性

这种方法有一个问题,每次都会创建对象。。。。因此,也许您可以先删除元素,然后再重新添加它


另请查看此答案->

而不是将闪存添加到
alerts.txt
更新
更改后创建一个新的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>");
  }
}
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“更改”).innerHTML=xmlhttp.responseText;
//将Flash对象添加到DOM
var emb=document.createElement(“嵌入”);
emb.setAttribute(“类型”、“应用程序/x-shockwave-flash”);
emb.setAttribute(“自动启动”、“真”);
emb.setAttribute(“数据”,“数据”);
}
}
您需要更改URL以匹配声音flash文件的URL,并添加需要设置的任何属性

这种方法有一个问题,每次都会创建对象。。。。因此,也许您可以先删除元素,然后再重新添加它


还可以查看这个答案->

为什么这个标签是jQuery和PHP?文本文件是通过PHP编辑的,jQuery是一个错误。但是你来这里只是为了成为一个标签纳粹还是为了回答这个问题?我来这里是为了回答一个jQuery问题。。。但是,鉴于您的礼貌,我将添加我的答案……为什么这个标签是jQuery和PHP?文本文件是通过PHP编辑的,jQuery是一个错误。但是你来这里只是为了成为一个标签纳粹还是为了回答这个问题?我来这里是为了回答一个jQuery问题。。。但既然你这么有礼貌,我会补充我的答案。。。。