問題タブ [local-shared-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actionscript-3 - AS3: ユーザーの操作なしでファイルをキャッシュしますか?
を使用して大量の外部 MP3 をダウンロードする Flash ブラウザ ゲームに取り組んでいますURLRequest
。これらの MP3 をユーザーのコンピューターにキャッシュして、ユーザーがゲームをプレイするたびに再ダウンロードされないようにして、サーバーの帯域幅を節約したいと考えています。
SharedObject
またはを使用できますFileReference
が、どちらもある時点でユーザーの操作が必要です。SharedObject が特定のサイズを超えると、サイズを大きくする許可をユーザーに求めるポップアップが表示されます。また、FileReference を使用すると、ユーザーはファイルの保存を確認する必要があります。ユーザーからの操作を必要とせずにそれを行う方法はありますか? AIRで道はありそうですが、私はその道は行きたくないです。
編集: 私はいくつかのテストを行いましたが、ブラウザーは物事をキャッシュしていないようです。ウェブページをアップロードして Flash をテストすると、外部の 4 MB MP3 ファイルが読み込まれ、プログレス バーが表示されます。ブラウザで初めてページを開いたときは、通常どおりロードしました。次に、そのページから移動し、Net Limiter を使用してダウンロード速度を 5 KB/秒に制限し、テスト ページに戻りました。ブラウザが実際にキャッシュした場合、MP3 はすぐにダウンロードを完了しているはずですが、代わりに 0% から始まり、非常にゆっくりと 100% までいっぱいになりました。また、リロード ボタンを試し、テスト ページを新しいタブで開き、ブラウザを再起動しましたが、結果は同じでした。ChromeとIE11でこれを試しました。
edit2: ファイルキャッシュの設定がサーバー側で行われているようです。テスト サーバーは無料のウェブホストでした。これらの設定を変更することはできないようです。