问题描述
例如,当网站使用如下所示的文件系统访问 API 时。
// store a reference to our file handle
let fileHandle;
async function getFile() {
// open file picker
[fileHandle] = await window.showOpenFilePicker();
if (fileHandle.type === 'file') {
// run file code
} else if (fileHandle.type === 'directory')
// run directory code
}
}
是否可以使用 JavaScript 挂钩 Web API?我的意思是在使用此 API 时如何停止网站进程?
解决方法
如果“hook”是指在调用函数时拦截,那么您可以像这样覆盖内置函数:
const originalShowOpenFilePicker = window.showOpenFilePicker;
window.showOpenFilePicker = (...args) => {
console.log('Modified `showOpenFilePicker` called with these arguments:',args);
// Block the page by calling `while (true) {}`,// but nor sure if this is what you mean. The
// `return` statement below would be never reached
// in this case.
return originalShowOpenFilePicker(...args);
};