The window object
A special note should be added on how the window
object is handled by Node.js.
When all the initial stuff has been done, as soon as it's ready, the window
object is passed to Node.js inside the global
object so that you can reference it in a module as global.window
or simply window
. The window reference is then replaced with a new one on page navigation. Check the following example:
- nodeModule.js:
exports.checkWindowVar = function () { console.log(window.myVar); }
- index.html:
var myVar = 'Hello'; var nodeModule = require('./nodeModule.js'); nodeModule.checkWindowVar(); // Hello // Navigate to newWindow.html location.href = 'newWindow.html';
- newWindow.html:
var myVar = 'Foo'; var nodeModule = require('./nodeModule.js'); nodeModule.checkWindowVar(); // Foo
The preceding code will always log the last instance of myVar
. However, if, instead of navigating to the new page, you open it in a new window, the reference is kept with...