A fetch API for GM_xmlhttpRequest
/ GM.xmlHttpRequest
.
- Use
responseType: stream
to prevent buffering large data when possible. - Use Typescript.
- Provides es module, iife script and lib mode userscript as well.
If you use vite-plugin-monkey:
npm i @sec-ant/gm-fetch
or just plain userscript (change latest
to the version number as needed):
// @require https://cdn.jsdelivr.net/npm/@sec-ant/gm-fetch@latest/dist/index.iife.js
-
Grant necessary GM_APIs:
vite-plugin-monkey:
{ plugins: [ monkey({ userscript: { // or GM.xmlHttpRequest grant: "GM_xmlhttpRequest", // whatever websites you're to make requests to connect: ["github.com"], }, }), ]; }
plain userscript:
// @grant GM_xmlhttpRequest // @connect github.com
-
Use it just like fetch:
vite-plugin-monkey:
import gmFetch from "@sec-ant/gm-fetch"; gmFetch("https://github.com/Sec-ant/gm-fetch");
plain userscript:
/* globals gmFetch */ (function () { "use strict"; gmFetch("https://github.com/Sec-ant/gm-fetch"); })();
MIT