首页 > 解决方案 > 如何使用 javascript 获取所有对象浏览器(window.*)信息

问题描述

我需要一种方法来比较 javascript 中可用的所有对象信息。我尝试使用 copy(window); 复制 window.navigator 或仅复制窗口;在 chrome 控制台中。但是由于某种原因,当我想复制对象或将其转换为 json 时,我总是会出错。我一直在寻找它,但我真的找不到方法。我需要的是一个函数,它可以给我一个全局可用的所有 javascript 变量的列表,就像这个站点一样browserspy.dk/showprop.php. 该站点列出了所有全局变量和函数,我想要相同但最好是 JSON 格式或任何其他原始文本格式,以便我轻松比较它并找到差异。我想了解有关如何跟踪浏览器等的更多信息。我知道画布指纹和那些 javascript 变量。

我已经尝试过的是JSON.stringify(window);,但这给了我一个

Uncaught TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)
    at <anonymous>:1:6

我尝试查找此错误并遇到Chrome sendrequest 错误:TypeError: Converting circular structure to JSON但尝试解决方案时仍然遇到其他错误。只要我能够比较所有不同的变量,我不介意对象是否丢失了一些数据。我已经尝试了很多我已经在网上找到的方法,但我一直遇到的问题是:它会引发错误,或者对象中的所有对象都被忽略。我还需要所有信息,例如 window.navigator 或 window.navigator.webkitGetUserMedia 及其子值,如 window.navigator.webkitGetUserMedia.length 。如何实现?

标签: javascriptjsonobject

解决方案


看到这个答案,为我工作:JSON.stringify, Avoid TypeError: Converting circular structure to JSON

将该答案中的函数粘贴到浏览器中,然后执行JSON.stringifyOnce(window)


推荐阅读