å®å ¨ä¸ä¸æ: æ¤é¡¹åè½ä» å¨ä¸äºæ¯æçæµè§å¨çå®å ¨ä¸ä¸æï¼HTTPSï¼ä¸å¯ç¨ã
å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
éæ å: è¯¥ç¹æ§å°æªæ ååãæä»¬ä¸å»ºè®®å¨ç产ç¯å¢ä¸ä½¿ç¨éæ åç¹æ§ï¼å 为å®ä»¬å¨æµè§å¨ä¸çæ¯ææéï¼ä¸å¯è½åçååæè¢«ç§»é¤ãä¸è¿ï¼å¨æ²¡ææ åé项çç¹å®æ åµä¸ï¼å®ä»¬å¯ä»¥ä½ä¸ºåéçæ¿ä»£æ¹æ¡ã
FileSystemObserver
æ¥å£ç observe()
æ¹æ³è¦æ±è§å¯å¨å¼å§è§å¯ç»å®æä»¶æç®å½çååã
observe(handle)
observe(handle, options)
åæ°
handle
表示è¦è§å¯çæä»¶æç®å½çæä»¶ç³»ç»æ¡ç®ç奿ã
FileSystemFileHandle
æ FileSystemDirectoryHandle
ãFileSystemFileHandle
ãFileSystemDirectoryHandle
æ FileSystemSyncAccessHandle
ãoptions
å¯é
æå® observe()
è°ç¨çé项ç对象ãå®å¯ä»¥å
å«ä»¥ä¸å±æ§ï¼
recursive
ä¸ä¸ªå¸å°å¼ï¼æå®æ¯å¦è¦éå½è§å¯ç®å½çæ´æ¹ãå¦æè®¾ç½®ä¸º true
ï¼åä¼è§å¯ç®å½æ¬èº«åå
¶å
å«çææåç®å½åæä»¶çæ´æ¹ãå¦æè®¾ç½®ä¸º false
ï¼åä»
è§å¯ç®å½æ¬èº«åå
¶ç´æ¥å
å«çæä»¶çæ´æ¹ï¼å³ï¼ä¸å
æ¬åç®å½ä¸çæä»¶ï¼ãé»è®¤ä¸º false
ã妿 handle
表示æä»¶ï¼åæ¤å±æ§æ æã
å
ç°ä¸º undefined
ç Promise
ã
NotFoundError
DOMException
妿æ¾ä¸å° handle
æè¡¨ç¤ºçæä»¶æç®å½ï¼åæåºæ¤å¼å¸¸ã
å设 FileSystemObserver
å®ä¾å¯ç¨ï¼ä½ å¯ä»¥éè¿è°ç¨ observe()
å¼å§è§å¯æä»¶ç³»ç»æ¡ç®çååã
ä½ å¯ä»¥éè¿å observe()
ä¼ å
¥ FileSystemFileHandle
æ FileSystemDirectoryHandle
æ¥è§å¯ç¨æ·å¯è§å¯æä»¶ç³»ç»ææºç§ææä»¶ç³»ç»ï¼OPFSï¼ä¸çæä»¶æç®å½ãä¾å¦ï¼å½è¦æ±ç¨æ·ä½¿ç¨ Window.showSaveFilePicker()
æ Window.showDirectoryPicker()
éæ©æä»¶æç®å½æ¶ï¼å¯ä»¥è¿åè¿äºå¯¹è±¡çå®ä¾ï¼
// è§å¯æä»¶
async function observeFile() {
const fileHandle = await window.showSaveFilePicker();
await observer.observe(fileHandle);
}
// è§å¯ç®å½
async function observeDirectory() {
const directoryHandle = await window.showDirectoryPicker();
await observer.observe(directoryHandle);
}
ä½ è¿å¯ä»¥éè¿å° FileSystemSyncAccessHandle
ä¼ éç» observe()
æ¥è§å¯ OPFS çååï¼
// è§å¯ OPFS æä»¶ç³»ç»æ¡ç®
async function observeOPFSFile() {
const root = await navigator.storage.getDirectory();
const draftHandle = await root.getFileHandle("draft.txt", { create: true });
const syncHandle = await draftHandle.createSyncAccessHandle();
await observer.observe(syncHandle);
}
éå½è§å¯ç®å½
è¦éå½å°è§å¯ç®å½ï¼è¯·è°ç¨ observe()
å¹¶å° recursive
é项设置为 true
ï¼
// éå½è§å¯ç®å½
async function observeDirectory() {
const directoryHandle = await window.showDirectoryPicker();
await observer.observe(directoryHandle, { recursive: true });
}
è§è
ç®åä¸å±äºä»»ä½è§èãç¸å ³è§è PR 请åé https://github.com/whatwg/fs/pull/165ã
æµè§å¨å ¼å®¹æ§ åè§RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4