1

我正在为 Opera 浏览器开发音乐播放器扩展。这个想法很简单:从本地机器中选择文件并在边栏中播放它们。多亏了该<audio>元素,在侧边栏面板打开时,一切正常。

我使用该createObjectURL()方法将文件传递给<audio>元素。问题是它只包含对内存中文件的引用,当侧边栏面板卸载时,这些文件会丢失。我可以将这些引用发送到后台脚本,但这无济于事。

使用 aFileReader不是一个选项,因为它使用大量 CPU 和 RAM,并且在我打开文件时会暂时冻结浏览器。所以我想出了createObjectURL()在后台脚本中使用该方法的想法,因此在浏览器本身运行时引用将是活动的。

现在的问题是我无法从后台脚本打开文件对话框。我可以创建一个文件类型输入,也可以使用该click()方法,但对话框窗口不显示。但是,点击事件发生了,因为onclick正在调用事件侦听器。

所以我想请求一些帮助。是否可以从后台脚本打开文件对话框?如果是,我怎样才能让它工作?

4

0 回答 0