Твоя проблема в том, что window - это корневой объект и всё остальное работает в его контексте. Когда ты создаёшь любую переменную или сущность она создаётся в контексте window. И тот же объект JSON с его функцией stringify находится в window. В итоге JSON пытается сериализовать самого себя. Вот и думай.
@asheriks Вот частичное решение твоей проблемы var exclude = ['0','window','self','document','frames','top','parent','_win'] var _win = {}; for (var i in window) { if(!~exclude.indexOf(i)) _win[i] = window[i] }; $('#window').text(JSON.stringify(_win));
test.php:38 Uncaught TypeError: Converting circular structure to JSON --> starting at object with constructor 'Window' --- property 'window' closes the circle at JSON.stringify (<anonymous>)