node.js socket.io get empty object from client

i'm trying to get window.navigator object from client but in node.js server it looks empty:

server side:

socket.on('getNavigator', function(data)
{
    console.log(data);
});

client side:

websocket.emit('getNavigator', window.navigator);

when i put in client side:

console.log(window.navigator)

i can read information from firebug, but in server: looks:

{}

edit: i solved with this:

var a = {}
for(i in window.navigator)
    a[i] = window.navigator[i];

websocket.emit('getNavigator', a);

in client side but i don't know why i need to do this...