调用 showOpenFilePicker :调用类方法时如何避免"must come from gesture"



访问本地文件系统:https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle

如果我内联所有的代码显示(打开|保存)FilePicker API逻辑直接在我的按钮事件闭包或调用平原fn的然后事情工作正常。但是,如果我定义了一个带有/helper方法的类,并从事件处理程序中调用这些方法,而这些helper调用文件选择器,则会得到以下错误:

Uncaught DOMException: Failed to execute 'showOpenFilePicker' on 'Window': Must be handling a user gesture to show a file picker.

我假设安全系统正在查看this以建立手势上下文-是否有一种方法可以用在我的类中运行的代码重新建立此上下文?

原来类方法是一个转移注意力的问题——这个问题与异步代码和承诺有关——这是丢失上下文并导致错误的原因。你需要在没有任何承诺链的情况下调用FS。

相关内容

最新更新