Add Greasemonkey compatibility

Greasemonkey in Firefox doesn't have the GM_xmlhttpRequest function, so
the script breaks when it tries to call the function. This adds a check
before falling back to Greasemonkey's GM.xmlHttpRequest() if available.
This commit is contained in:
Dave Shoreman
2021-11-21 10:38:38 +00:00
parent 007a53f546
commit 214b3fd89f
@@ -14,12 +14,24 @@
// @downloadURL https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js
// @updateURL https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
// ==/UserScript==
function cLog(text, subtext = '') {
subtext = subtext.trim() === '' ? '' : `(${subtext})`;
console.log(`[Return Youtube Dislikes] ${text} ${subtext}`);
}
function doXHR(opts) {
if (typeof GM_xmlhttpRequest === 'function') {
return GM_xmlhttpRequest(opts);
}
if (typeof GM.xmlHttpRequest === 'function') {
return GM.xmlHttpRequest(opts);
}
console.error('Unable to detect UserScript plugin.');
}
function getButtons() {
return document
.getElementById("menu-container")
@@ -72,7 +84,7 @@ function setDislikes(dislikesCount) {
function setState() {
cLog('Fetching votes...');
GM_xmlhttpRequest({
doXHR({
method: "GET",
responseType: "json",
url: