簡體   English   中英

FileSystemHandle.requestPermission DOMException:需要用戶激活才能請求權限

[英]FileSystemHandle.requestPermission DOMException: User activation is required to request permissions

我的網站需要一個打開的本地文件功能,所以我在我的代碼中使用文件系統訪問 API。 當從本地打開的文件被我的網絡編輯並需要保存到原始文件時。 我發現它沒有權限。 因此,我找到了請求文件句柄權限的方法,如下所示:

    async function verifyPermission(fileHandle: any, readWrite: boolean) {
    const options = {
        mode: 'readwrite',
    };
    let isPermit = false;
    
    
    
    // Check if permission was already granted. If so, return true.
    if ((await fileHandle.queryPermission(options)) === 'granted') {
        isPermit =  true;
    }
    if ((await fileHandle.requestPermission(options)) === 'granted') {
        isPermit = true;
    }
    return isPermit;
}

但是當我執行到fileHandle.requestPermission(options)它控制台錯誤

Uncaught (in promise) DOMException: User activation is required to request permissions.

我缺少什么? 謝謝你的QQ

您始終可以查詢文件的權限,但請求需要用戶手勢(例如單擊按鈕)。 規范中概述了這一點(重點是我的):

如果此句柄的讀取權限狀態不是“提示”,則將直接返回該狀態。 但是,如果是“提示”,則需要用戶激活,這將向用戶顯示確認提示。 然后根據用戶對提示的響應返回新的讀取權限狀態。

您需要在實現中分離查詢和請求權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM