A fetch API for GM_xmlhttpRequest
/ GM.xmlHttpRequest
.
responseType: stream
to prevent buffering large data when possible.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