如何从chrome控制台窗口复制对象?

Mer*_* Jo 38 javascript google-chrome google-chrome-console

我试图将对象复制为文本,但它只显示[对象对象].在此之前我曾尝试过复制表示它是成功但不是现在.那是铬问题吗?

我尝试了什么? 只需右键单击对象并从chrome控制台窗口存储为全局变量,然后接下来只使用copy(temp6)命令并尝试粘贴到notepad ++中.


在此输入图像描述

Abh*_*ngi 36

理想情况下,应该使用copy您编写的命令复制对象.我只是尝试过并为我工作.
您可以尝试做的其他事情是对该对象进行字符串化然后复制它.
防爆.

copy(JSON.stringify(temp6))
Run Code Online (Sandbox Code Playgroud)

  • 它显示了**Uncaught TypeError:将循环结构转换为JSON** (2认同)

Rak*_*ari 27

如果对象已经记录

  • 右键单击控制台中的对象,然后单击"存储为全局"
  • 变量输出将类似于temp1
  • 复制并粘贴chrome控制台中的代码,然后按Enter键

    (function(console){
        console.save = function(data, filename){
    
        if(!data) {
            console.error('Console.save: No data')
            return;
        }
    
        if(!filename) filename = 'console.json'
    
        if(typeof data === "object"){
            data = JSON.stringify(data, undefined, 4)
        }
    
        var blob = new Blob([data], {type: 'text/json'}),
            e    = document.createEvent('MouseEvents'),
            a    = document.createElement('a')
    
        a.download = filename
        a.href = window.URL.createObjectURL(blob)
        a.dataset.downloadurl =  ['text/json', a.download, a.href].join(':')
        e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
        a.dispatchEvent(e)
     }
    })(console)
    
    Run Code Online (Sandbox Code Playgroud)
    • 然后你可以使用该功能下载,

console.save(temp1中);

- 如果显示Uncaught TypeError:将循环结构转换为JSON

然后你需要decycle JSON对象并在chrome浏览器控制台中粘贴下面的代码并点击回车

if (typeof JSON.decycle !== "function") {
    JSON.decycle = function decycle(object, replacer) {
        "use strict";

        var objects = new WeakMap();     // object to path mappings

        return (function derez(value, path) {


            var old_path;  
            var nu;  

            if (replacer !== undefined) {
                value = replacer(value);
            }

            if (
                typeof value === "object" && value !== null &&
                !(value instanceof Boolean) &&
                !(value instanceof Date) &&
                !(value instanceof Number) &&
                !(value instanceof RegExp) &&
                !(value instanceof String)
            ) {


                old_path = objects.get(value);
                if (old_path !== undefined) {
                    return {$ref: old_path};
                }

                objects.set(value, path);

                if (Array.isArray(value)) {
                    nu = [];
                    value.forEach(function (element, i) {
                        nu[i] = derez(element, path + "[" + i + "]");
                    });
                } else {

                    nu = {};
                    Object.keys(value).forEach(function (name) {
                        nu[name] = derez(
                            value[name],
                            path + "[" + JSON.stringify(name) + "]"
                        );
                    });
                }
                return nu;
            }
            return value;
        }(object, "$"));
    };
}


if (typeof JSON.retrocycle !== "function") {
    JSON.retrocycle = function retrocycle($) {
        "use strict";

        var px = /^\$(?:\[(?:\d+|"(?:[^\\"\u0000-\u001f]|\\([\\"\/bfnrt]|u[0-9a-zA-Z]{4}))*")\])*$/;

        (function rez(value) {



            if (value && typeof value === "object") {
                if (Array.isArray(value)) {
                    value.forEach(function (element, i) {
                        if (typeof element === "object" && element !== null) {
                            var path = element.$ref;
                            if (typeof path === "string" && px.test(path)) {
                                value[i] = eval(path);
                            } else {
                                rez(element);
                            }
                        }
                    });
                } else {
                    Object.keys(value).forEach(function (name) {
                        var item = value[name];
                        if (typeof item === "object" && item !== null) {
                            var path = item.$ref;
                            if (typeof path === "string" && px.test(path)) {
                                value[name] = eval(path);
                            } else {
                                rez(item);
                            }
                        }
                    });
                }
            }
        }($));
        return $;
    };
}
Run Code Online (Sandbox Code Playgroud)
  • 然后最终执行下载代码.

console.save(JSON.decycle(temp1));

  • 这对我很有用,非常感谢。哦,毕竟,您可以使用 copy(JSON.decycle(temp1)) 将 temp1 保存到剪贴板,而不是使用 save (2认同)

Yog*_*war 6

您可以在控制台中使用命令,如下所示:假设我们的对象是:

  var object = {x:"xyz"}
Run Code Online (Sandbox Code Playgroud)

现在在控制台中使用以下命令-

 copy(JSON.stringify(object))
Run Code Online (Sandbox Code Playgroud)

对象现在可用于剪贴板。您现在可以使用Ctrl + v来使用此对象。

  • 它显示“未捕获的TypeError:将圆形结构转换为JSON” ** (2认同)

Che*_*hao 5

您应该在使用之前检查count对象以避免循环引用copy(JSON.stringify(count)),请参阅此处