我正在制作一个播放<audio>
的HTML页面,其中<img>
标签上有OnClick作为触发器。
Javascript:
function changeImage()
{
element=document.getElementById('myimage')
if (element.src.match("play"))
{
element.src="stop.png";
document.getElementById('audiotag1').src="music.mp3";
document.getElementById('audiotag1').play();
}
else
{
element.src="play.png";
document.getElementById('audiotag1').src="";
}
}
IMG标签:
<img id="myimage" onclick="changeImage()" src="play.png" width="20" height="20" style="position:absolute;top:5px;left:5px;">
音频标签:
<audio loop id="audiotag1" src="music.mp3" preload="auto"></audio>
所以,这就是问题,因为IE8不支持<audio>
标签,我想让图像仅在IE8或不支持<audio>
标签的人身上消失。可能吗?我该怎么办?
我曾经被禁用='禁用',但它不会工作。
答案 0 :(得分:1)
尝试使用conditional comments - 即条件<!--[if lte IE 8]>
。
这会隐藏你的图像,包括IE8(IE7,IE6等):
<!--[if lte IE 8]>
#myimage {
display: none;
}
-->
所以你的整个代码看起来像这样:
<!--[if IE 8]>
<style>
#myimage {
display: none;
}
</style>
<![end if]-->
答案 1 :(得分:0)
您需要的是Modernizr。你可以检查支持。
如果你打算用html5支持oldie,那么Modernizr还包括html5shiv。
您可以查看
if (Modernizr.audio) {}
好多了然后检查特定浏览器,因为它检查对html5音频标记的实际支持,并且不根据浏览器做出假设(IE不是那里唯一过时的浏览器: d)
您还可以检查实际的文件格式支持。 Modernizr的例子documentation:
var audio = new Audio();
audio.src = Modernizr.audio.ogg ? 'background.ogg' :
Modernizr.audio.mp3 ? 'background.mp3' :
'background.m4a';
audio.play();
(虽然这是使用嵌套?:运算符恕我直言的令人困惑的方式)
答案 2 :(得分:-1)
你可以试试javascript
检查您是否检测到IE return false
if(navigator.appName.indexOf("Internet Explorer") == -1) {
document.getElementById('myimage').onclick = function () {
return false;
}
} else {
document.getElementById('myimage').onclick = function () {
alert("cliiing");
return true;
}
}