Book Image

NW.js Essentials

Book Image

NW.js Essentials

Overview of this book

Table of Contents (17 chapters)
NW.js Essentials
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

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 the first instance even if the window has been closed...