Opera ブラウザ用の音楽プレーヤー拡張機能に取り組んでいます。アイデアは単純です。ローカル マシンからファイルを選択し、サイドバーで再生します。要素のおかげで<audio>
、サイドバー パネルが開いている間、すべてが正常に機能しています。
メソッドを使用してcreateObjectURL()
、ファイルを<audio>
要素に渡します。問題は、サイドバー パネルがアンロードされると失われる、メモリ内のファイルへの参照のみを保持することです。これらの参照をバックグラウンド スクリプトに送信できますが、役に立ちません。
FileReader
CPU と RAM を大量に使用し、ファイルを開くとブラウザが一時的にフリーズするため、a を使用することはできません。そこで、このメソッドをバックグラウンド スクリプトで使用するというアイデアを思いつきましたcreateObjectURL()
。これにより、ブラウザー自体が実行されている間も参照が有効になります。
問題は、バックグラウンド スクリプトからファイル ダイアログを開くことができないことです。ファイル タイプの入力を作成し、click()
メソッドも使用できますが、ダイアログ ウィンドウが表示されません。onclick
ただし、イベント リスナーが呼び出されているため、クリック イベントが発生します。
そこで、助けを求めたいと思います。バックグラウンドスクリプトからファイルダイアログを開くことはできますか? もしそうなら、どうすればそれを機能させることができますか?