我有一个代码可以通过调用servlet自动生成验证码图像并以HTML格式显示它。但对于视障人士,我也想放一个音频文件。因此,我将servlet生成的验证码作为String格式的会话属性存储,并从该属性再次根据验证码生成音频文件。因此,假设验证码是“c-a-t”,则相应地生成音频文件。现在的问题是,当我在Chrome中刷新页面时,验证码图像和音频都会得到刷新,这是理想的,但在Mozilla中,只有图像刷新而不是音频文件。
<div class="formRow">
<div class="field">
<img style="margin-left:91px; margin-top:-6px;" class="image" src="http:www.xyz.com/captchaServlet">
//the above line calls a servlet for the image
</div>
</div></br>
<div class="formRow">
<div class="field">
<audio style="margin-left:91px;" controls="controls">
<source src="http:www.xyz.com/getSound" type="audio/wav">
//the above line calls servlet for audio file
Your browser does not support this audio format.
</audio>
</div>
</div>
答案 0 :(得分:1)
它可以缓存网址。只需使用它来使网址唯一
<source src="http:www.xyz.com/getSound?rand=<?php echo rand(time()); ?>" type="audio/wav">
答案 1 :(得分:0)
当我尝试在window.onLoad
功能期间更改音频标签的来源时,它不起作用。当我在body
标签内编写脚本时,它就像一个魅力。这是我用过的:
<script type="text/javascript">
if(navigator.userAgent=="Mozilla/5.0 (X19; Ubuntu; Linux i697; rv:10.0) Gecko/22222222 Firefox/16.0"){
var d = new Date();
var n = d.getTime();
document.getElementById("audiowav").src="http://abcd.com/getSound?rand="+n;
}
</script>
所以基本上我从@Shahil那里得到了这个想法