0

タグ <audio>の OnClick をトリガーとして再生する HTML ページを作成しています。<img>

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 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>。出来ますか?私は何をすべきか?私はかつて disabled='disabled' を使用していましたが、うまくいきません。

4

3 に答える 3

1

条件付きコメント、つまりconditionを使用してみてください<!--[if lte IE 8]>

これにより、IE8未満およびIE8を含む(IE7、IE6など)画像が非表示になります。

<!--[if lte IE 8]>
#myimage { 
  display: none; 
}
-->

したがって、コード全体は次のようになります。

<!--[if IE 8]> 
  <style> 
    #myimage { 
      display: none; 
    } 
  </style> 
<![end if]-->
于 2013-03-21T10:21:27.847 に答える
0

必要なのはModernizrです。何でも好きなもののサポートを確認できます。

また、Modernizr には、html5 で oldie をサポートする予定がある場合に必須の html5shiv が含まれています。

確認できます

if (Modernizr.audio) {}

これは、html5 オーディオ タグの実際のサポートをチェックし、ブラウザーに基づいて仮定を行わないため、特定のブラウザーをチェックするよりもはるかに優れています (IE だけが時代遅れのブラウザーではありません:D)。

実際のファイル形式のサポートを確認することもできます。Modernizrドキュメントの例:

var audio = new Audio();
audio.src = Modernizr.audio.ogg ? 'background.ogg' :
            Modernizr.audio.mp3 ? 'background.mp3' :
                                  'background.m4a';
audio.play();

(これはネストされた ? : 演算子 IMHO を使用する紛らわしい方法ですが)

于 2013-03-21T10:31:03.170 に答える
-1

IE を検出した場合は、javascript チェックを試すことができます。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;
    }
}
于 2013-03-21T10:49:20.803 に答える