J'essaie d'afficher tous les éléments de la fenêtre dans la console. J'ai essayé avec console.log(window)
mais il ne se développe pas automatiquement. Ce fil Is there a way to auto expand objects in Chrome Dev Tools? m'a suggéré d'utiliser JSON.stringify
mais je reçois l'erreur suivante:Conversion de la structure circulaire en JSON dans la fenêtre
0
A
Répondre
1
C'est une chose peu probable de le faire, et je ne pense pas que vous serez en mesure de tout pleinement mimétique vous pouvez voir l'expansion des choses à l'intérieur de la console - l'une des raisons est une «structure circulaire» de fenêtre. Pourtant, il peut être fait dans une certaine mesure en clonant l'objet fenêtre avec quelques ajustements - this pourrait être un bon point de départ.
var maxDepth = 10;
function cloneObject(obj,depth) {
if (!depth) depth = 1;
var clone = {};
for (var i in obj) {
if (typeof(obj[i])=="object" && obj[i] != null) {
try {
if (obj[i].wowImCloned) clone[i] = '[I\'ve seen you somewhere..]';
else if (depth >= maxDepth) clone[i] = '[I\'m not going deeper]'
else {
obj[i].wowImCloned = true;
clone[i] = cloneObject(obj[i],depth+1);
}
} catch(err) clone[i] = err.message;
}
else if (typeof(obj[i])=="function") clone[i] = obj[i].toString()
else clone[i] = obj[i];
}
return clone;
}
var clone = cloneObject(window)
//console.log(JSON.stringify(clone))