gmxhr

xmlHttpRequest API wrapper for Greasemonkey's GM_xmlhttpRequest and GM.xmlHttpRequest functions

Usage no npm install needed!

<script type="module">
  import gmxhr from 'https://cdn.skypack.dev/gmxhr';
</script>

README

README

NPM

Description

gmxhr is a xmlHttpRequest API wrapper for Greasemonkey (and derivative) userscript engine's GM_xmlhttpRequest function.

It provides a xmlHttpRequest API to the GM_xmlhttpRequest function from the legacy Greasemonkey v3 and Tampermonkey WebExtensions for Firefox and Chromium-based browsers.

It is also compatible with the new Greasemonkey 4 API using GM.xmlHttpRequest.

This means it can be used as a drop-in replacement for higher-level libraries and frameworks for the standard xmlHttpRequest class, including superagent and axios.

Installation

$ npm install gmxhr

Usage

As an example, gmxhr can be used to allow jQuery to perform ajax calls using GM_xmlhttpRequest within a userscript:

var gmxhr = require('gmxhr');

....

$.ajax({
    url: '/p/',
    xhr: function(){return new gmxhr();},
    type: 'POST',
  success: function(val){
        ....
    }
 });

Attribution

My thanks to Ryan Greenberg and Martin Monperrus for creating and sharing this code.