Microsoft EdgeでのFlashの共有オブジェクトの扱い

投稿者: | 2015年7月30日

7月29日(水)に期日通りWindows 10がリリースされました。

Windows 10の新機能の一つに、新しいブラウザであるMicrosoft Edgeがあります。このブラウザはActiveXをサポートしていませんが、Flash Playerは利用可能です。

ところが、このMicrosoft Edge用のFlash Playerは共有オブジェクト(いわゆるFlash版クッキー)周りでの実装が異なるようです。比較のため、Microsoft Edge(左)とInternet Explorer(右)で表示した拙作「全国制覇! とれいんCombat」のスクリーンショットをご覧下さい。

diff_flashplayer

本作ではセーブデータを共有オブジェクトとして保存するようにActionScriptを組んでいますが、ご覧の通り両ブラウザではセーブデータが異なります

どうやら共有オブジェクトが別個に扱われているらしく、少しばかり調べてみました。それぞれのブラウザにおける共有オブジェクトの保存場所は次の通りです。

ブラウザ 共有オブジェクトの保存場所
Internet Explorer等 %USERPROFILE%\Appdata\Roaming\Macromedia\Flash Player\#SharedObjects\<ランダムな英数字>\
Microsoft Edge %USERPROFILE%\Appdata\Roaming\Macromedia\Flash Player\#SharedObjects\<ランダムな英数字>\#AppContainer\

Microsoft Edge向けFlash Playerにおいては、従来の保存場所から#AppContainerディレクトリの下に、Internet Explorer等向けFlash Playerとは別個に共有オブジェクトが保存されます。ローカルから共有オブジェクトのファイルを操作する(バックアップするとか)ようなプログラムを開発する場合は十分注意して下さい。

要するに一般の人にとっては、Microsoft EdgeでFlashゲームを遊んでいても、Internet Explorer等ではそのセーブデータを使って遊ぶことができない、ということです。

追記: Twitterで頂いた情報ですが、Microsoft Edgeでの共有オブジェクトの保存場所はWindows 8.1のストアアプリ版Internet Explorerと同じだそうです。