0

ユーザーがエラーを起こすたびに jQuery を使用してサウンドを再生するページがあります。

ここに私のhtmlの一部があります:

<embed id="beepCache" src="sound/beep.wav" autostart="false" type ="audio/x-wav" width="0" height="0" hidden="hidden" /><!-- Just for caching! -->

ファイルをローカルにキャッシュするためだけに使用するため、すぐに再生されます。これは、サウンドを再生する私の jQuery 関数です。DOM に埋め込み要素を追加したり削除したりするだけです。

function playSound() {
            $('body').append('<embed id="beep" width="0" height="0"  type ="audio/x-wav" src="sound/beep.wav" autostart="true" hidden="hidden">');
            //wait 1 sec than remove the embed element
            setTimeout(function() {
                $('#beep').remove();
            }, 1000);
        }

したがって、このコードは IE、FF、および Opera で動作しますが、Chrome で動作するために使用されます。それが機能したとき、beep.wav へのすべての GET 要求がキャッシュ ヒットであることに気付きました。

ただし、現在はステータスを取得しています(キャンセル済み)。Chrome は賢すぎると思い、embed 要素が削除されることに気づき、リソースのリクエストをキャンセルしますが、そうではありません。キャッシュに使用し、決して削除されない埋め込み要素も取得されるためです。 status (canceled) - ページの読み込み時に発生します。

どんなアイデアでも大歓迎です。

4

1 に答える 1

0

私はそれを考え出した。ごめん。自宅でインストールしたvlcプラグインです。自宅と会社のPCで同じGoogleアカウントを使っているので、会社のPCにもインストールされました。

だから私はそれを無効にしました、そしてそれは再び魅力として働きます:P

于 2013-07-24T16:42:04.070 に答える