Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 如何从chrome控制台窗口复制对象?_Javascript_Google Chrome_Google Chrome Console - Fatal编程技术网

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

Javascript 如何从chrome控制台窗口复制对象?,javascript,google-chrome,google-chrome-console,Javascript,Google Chrome,Google Chrome Console,我尝试将对象复制为文本,但它仅显示[object]。在此之前,我尝试了复制推荐,但成功了,但不是现在。这是chrome的问题吗? 我尝试了什么? 只需右键单击对象并从chrome控制台窗口存储为全局变量,然后下一步只需使用copy(temp6)命令并尝试粘贴到notepad++。 理想情况下,它应该使用您编写的copy命令复制对象。 我只是尝试了一下,为我工作。 您还可以尝试将该对象字符串化,然后复制它。 例如 有很多方法可以做到这一点。一种方法是执行JSON.stringify(your

我尝试将对象复制为文本,但它仅显示[object]。在此之前,我尝试了复制推荐,但成功了,但不是现在。这是chrome的问题吗?

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



理想情况下,它应该使用您编写的
copy
命令复制对象。 我只是尝试了一下,为我工作。
您还可以尝试将该对象字符串化,然后复制它。
例如


有很多方法可以做到这一点。一种方法是执行JSON.stringify(yourObject),然后复制输出。

您可以在控制台中使用如下命令: 假设我们的目标是:

  var object = {x:"xyz"}
现在在控制台中使用下面的命令-

 copy(JSON.stringify(object))

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

在使用
copy(JSON.stringify(count))
之前,您应该检查
count
对象以避免循环引用,如果对象已经记录,请查看

  • 在console中的对象上单击鼠标右键,然后单击“作为全局对象存储”
  • 变量输出类似于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)
    
    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 $;
        };
    }
    
    • 然后你就可以使用这个功能来下载
console.save(temp1)

-如果显示未捕获类型错误:将循环结构转换为JSON

然后,您需要取消JSON对象的循环,并在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)
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 $;
    };
}
  • 最后执行下载代码

console.save(JSON.decycle(temp1))

它显示未捕获的类型错误:将圆形结构转换为JSON@Jay这有什么帮助?用户是否应该在每次要字符串化对象时将自定义JSON函数写入其devtool?您可以右键单击对象并将其存储为全局变量。它很可能被称为“temp1”,之后您可以使用如下代码片段:JSON.stringify(temp1)。希望这能澄清一点。它显示了“循环结构”警告,因为您的对象有循环,这使得无法序列化为JSON。例如,对象A的属性指向对象B,而对象B的属性指向对象A。它显示了未捕获的TypeError:将循环结构转换为JSON,这解释了为什么
copy
一开始不起作用。有一种解释显示了未捕获的类型错误:将圆形结构转换为JSON@5tormTrooperDevTools在功能上内置了JSON,对象没有正确复制,只有[0]是正确的,其余的都不正确。这对我来说很有用,非常感谢。哦,毕竟,不使用save,您可以使用copy(JSON.decycle(temp1))将temp1保存到剪贴板上,由于缺少功能,您可以在以后对这个答案进行评论。console.save(temp1);为我工作,我觉得没有必要把它卸下来。感谢您的片段,此保存的timeLegend!:心脏:仅供参考,我也遇到了这个问题。不过,在我有限的测试中,当我试图复制一个定义了方法的对象时,问题似乎就出现了。如果我删除了该方法,那么问题就消失了。我知道这不是一个解决方案,但它可能有助于其他人了解发生了什么。