Skip to content

GMXhr: responseType: stream Test #16

@cyfung1031

Description

@cyfung1031

responseType: stream Test

fetchXhr (responseType: stream)

// ==UserScript==
// @name         New Userscript M36
// @namespace    http://tampermonkey.net/
// @version      2025-12-15
// @description  try to take over the world!
// @author       You
// @match        https://example.com/?m36tm
// @icon         https://www.google.com/s2/favicons?sz=64&domain=github.com
// @grant        GM_xmlhttpRequest
// @connect      raw.githubusercontent.com
// ==/UserScript==

(function() {
    'use strict';

    const typing = (x) => {
        let t = x === null ? "null" : typeof x;
        if (!x) t = `<${t}>`;
        if (t === "object") {
            try {
                return x[Symbol.toStringTag] || "object";
            } catch (e) { }
        }
        return t;
    }
    const log = (type, response) => {
        console.log("-------------------------------");
        console.log({
            type: type,
            code: `r${response.readyState}s${response.status}`,
            responseText: `${"responseText" in response ? 1 : 0}:${typing(response.responseText)}`,
            response: `${"response" in response ? 1 : 0}:${typing(response.response)}`,
            responseXML: `${"responseXML" in response ? 1 : 0}:${typing(response.responseXML)}`,
        });
        console.log(response.responseText);
        console.log(response.response);
        console.log("-------------------------------");
    }


    GM_xmlhttpRequest({
        method: "GET",
        responseType: "stream",
        url: "https://raw.githubusercontent.com/mdn/content/main/files/en-us/_redirects.txt",
        onreadystatechange: function (response) {
            log("onreadystatechange", response);
        },
        onprogress: function (response) {
            log("onprogress", response);
        },
        onload: function (response) {
            log("onload", response);
        },
        onloadstart: function (response) {
            log("onloadstart", response);
        },
    });


    // Your code here...
})();

TM

Screenshot 2025-12-16 at 10 38 07

SC

Screenshot 2025-12-16 at 10 38 21

目前

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions