1

<video>JavaScriptを使用して動的に作成およびロードされる sがいくつかありdocument.createElement、オフスクリーンキャンバスを使用してそれらをサンプリングし、それらをいじります。

すべてが非常に楽しく、すべてのブラウザでうまく機能します....それを待ってください... IE9を除く(驚き)。

問題は、キャッシュをクリアして IE をリロードすると、すべて問題なく動作しますが、ビデオがキャッシュされると、IE が次のことについて愚痴をこぼし始めます。

DOM Exception: SECURITY_ERR (18) 

私は今、これに関するインターウェブ上のすべてを読みました。基本的には、このエラーは実際には CORS に関するものであり、これが CORS の問題であるとは考えられないため、IE は愚かです。

だから質問:

.htaccess を使用して IE9 (および IE9 のみ) を強制して、IE9 がビデオをキャッシュしないようにする方法はありますか?

本当にありがとうございました!

編集:答え

以下のFlavorScapeの回答に加えて、彼のリンクの参照を少し試した後、このコードはうまくいかないようです:

BrowserMatchNoCase "MSIE" isIE

<IfDefine isIE>
    ExpiresByType video/ogg                 "access plus 0 seconds"
    ExpiresByType audio/ogg                 "access plus 0 seconds"
    ExpiresByType video/mp4                 "access plus 0 seconds"
    ExpiresByType video/webm                "access plus 0 seconds"
</IfDefine>
4

1 に答える 1

1

キャッシュしたくないものにアクセスするときは、通常、ファイル名にクエリ文字列を追加します。

例えば:

someVideo.mp4?poop=Math.Round( Math.random()*10000)

サーバーヘッダーにキャッシュなしを設定できます。リファレンスを参照

これは.htaccess http://www.askapache.com/htaccess/apache-speed-cache-control.htmlでそれを行う方法です

Cache-Control   = "Cache-Control" ":" 1#cache-directive
    cache-directive = cache-request-directive
         | cache-response-directive
    cache-request-directive =
           "no-cache"                          ; Section 14.9.1
         | "no-store"                          ; Section 14.9.2
         | "max-age" "=" delta-seconds         ; Section 14.9.3, 14.9.4
         | "max-stale" [ "=" delta-seconds ]   ; Section 14.9.3
         | "min-fresh" "=" delta-seconds       ; Section 14.9.3
         | "no-transform"                      ; Section 14.9.5
         | "only-if-cached"                    ; Section 14.9.4
         | cache-extension                     ; Section 14.9.6
     cache-response-directive =
           "public"                               ; Section 14.9.1
         | "private" [ "=" <"> 1#field-name <"> ] ; Section 14.9.1
         | "no-cache" [ "=" <"> 1#field-name <"> ]; Section 14.9.1
         | "no-store"                             ; Section 14.9.2
         | "no-transform"                         ; Section 14.9.5
         | "must-revalidate"                      ; Section 14.9.4
         | "proxy-revalidate"                     ; Section 14.9.4
         | "max-age" "=" delta-seconds            ; Section 14.9.3
         | "s-maxage" "=" delta-seconds           ; Section 14.9.3
         | cache-extension                        ; Section 14.9.6
    cache-extension = token [ "=" ( token | quoted-string ) ]

または、キャッシュなしのドキュメント ヘッダーを設定することもできますが、それはドキュメント自体にのみ適用されると思います。

于 2012-08-28T00:19:02.910 に答える