Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取下载的资源_Javascript_Google Chrome_Xmlhttprequest_Tampermonkey - Fatal编程技术网

Javascript 获取下载的资源

Javascript 获取下载的资源,javascript,google-chrome,xmlhttprequest,tampermonkey,Javascript,Google Chrome,Xmlhttprequest,Tampermonkey,因此,加载时的这个网页将下载一个JSON文件。我想看看JSON的内容,这可能吗 我试图修改XMLHttpRequest.prototype.open来捕捉这个东西,但我的脚本似乎是在下载后运行的,所以什么都没有 我所说的下载,是指在开发者工具的网络标签上,有一行写着“abc.json?废话” 注意:该文件是通过创建一个脚本元素并附加到BODY来下载的,然后销毁它(或者其他什么东西,因为之后我找不到它) 使用/@run-at-document start@wOxxOm不确定run-at是否不起作用

因此,加载时的这个网页将下载一个JSON文件。我想看看JSON的内容,这可能吗

我试图修改XMLHttpRequest.prototype.open来捕捉这个东西,但我的脚本似乎是在下载后运行的,所以什么都没有

我所说的下载,是指在开发者工具的网络标签上,有一行写着“abc.json?废话”

注意:该文件是通过创建一个脚本元素并附加到BODY来下载的,然后销毁它(或者其他什么东西,因为之后我找不到它)


使用
/@run-at-document start
@wOxxOm不确定run-at是否不起作用,或者是什么,但是我仍然无法使用
调试器
语句或
控制台.log('something')
获取JSONDebug代码。不管怎么说,如果没有看到代码,很难判断出什么地方出了问题。@wOxxOm我包含了代码,你能看一下吗?看起来不错,实际上在我尝试过的几个网站上都可以使用。尝试在Devtools(F12键)->源代码->右窗格->事件侦听器断点->脚本->脚本第一条语句中查看这个难以捉摸的脚本元素。或者在上面的XHR断点中使用
任何XHR
。在devtools打开时重新加载页面,它将捕获罪犯。
// ==UserScript==
// @name         Download subtitle from wistia
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    var open = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
        console.log("generic request: " + url);
        if (url.indexOf(".json") > -1) {
            console.log("json request");
            this.addEventListener("readystatechange", function() {
                if (this.readyState === 4 && this.status == 200) {
                    // parse content
                    var data = JSON.parse(this.responseText);
                    console.log("huh is coming");
                    console.log(data);
                }
            }, false);
        }

        open.call(this, method, url, async, user, pass);
    };
})();