2017-05-13 14 views
0

ウィンドウのすべての要素をコンソールに表示しようとしています。 console.log(window)で試しましたが、自動的には展開されません。 このスレッドIs there a way to auto expand objects in Chrome Dev Tools?は私がJSON.stringify使用しますが、私は次のエラーを取得する提案:ウィンドウ内の循環構造をJSONに変換する

行うにはそうなことだ、と私はあなたが見ることができるすべて完全に模倣することができるでしょうとは思わないenter image description here

答えて

1

コンソール内のものを拡大する - その理由の1つは、の「循環構造」ウィンドウです。それでも、いくつかの調整を加えてウィンドウオブジェクトをクローン化することによって、ある程度まで行うことができます - thisは良い出発点かもしれません。

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)) 
関連する問題