Chrome fetch和addEventListener

emeijp43  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(174)

我在https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Response_objects上读到,你可以使用addEventListener在提取发生时触发。
我在摆弄它,却不能让它开火。这是密码我也用Chrome

addEventListener('fetch', event => alert('test'));
g52tjvyc

g52tjvyc1#

示例中的fetch事件仅在Service Worker中触发。当获取发生时,正常网页上没有触发内置事件。
但是,您可以挂接全局fetch函数,以便它执行您想要的操作。

window.fetch = new Proxy(window.fetch, {
    apply(actualFetch, that, args) {
        // Forward function call to the original fetch
        const result = Reflect.apply(actualFetch, that, args);

        // Do whatever you want with the resulting Promise
        result.then((response) => {
            console.log("fetch completed!", args, response);
        });

        return result;
    }
});

这将在每次提取完成时打印到控制台。

相关问题