docs: function receiveIframeMessage(event) {
  
      // does the origin sending the message match the current host? if not dev/null the request
      if ((window.location.protocol !== "file:") && (event.origin !== window.location.protocol+"//"+window.location.host)) {
        return;
      }
  
      var data = {};
      try {
        data = (typeof event.data !== 'string') ? event.data : JSON.parse(event.data);
      } catch(e) {}
      
      if (data.event !== undefined) {
        
        if (data.event == "patternLab.pageLoad") {
  
          if (!urlHandler.skipBack) {
  
            if ((history.state === undefined) || (history.state === null) || (history.state.pattern !== data.patternpartial)) {
              urlHandler.pushPattern(data.patternpartial, data.path);
            }
  
            /*
            if (wsnConnected) {
              var iFramePath = urlHandler.getFileName(data.patternpartial);
              wsn.send( '{"url": "'+iFramePath+'", "patternpartial": "'+event.data.patternpartial+'" }' );
            }
            */
          }
  
          // reset the defaults
          urlHandler.skipBack = false;
  
        } else if (data.event == "patternLab.keyPress") {
          if (data.keyPress == 'ctrl+shift+s') {
            goSmall();
          } else if (data.keyPress == 'ctrl+shift+m') {
            goMedium();
          } else if (data.keyPress == 'ctrl+shift+l') {
            goLarge();
          } else if (data.keyPress == 'ctrl+shift+d') {
            if (!discoMode) {
              startDisco();
            } else {
              killDisco();
            }
          } else if (data.keyPress == 'ctrl+shift+h') {
            if (!hayMode) {
              startHay();
            } else {
              killHay();
            }
          } else if (data.keyPress == 'ctrl+shift+0') {
            sizeiframe(320,true);
          } else if (found == data.keyPress.match(/ctrl\+shift\+([1-9])/)) {
            var val = mqs[(found[1]-1)];
            var type = (val.indexOf("px") !== -1) ? "px" : "em";
            val = val.replace(type,"");
            var width = (type === "px") ? val*1 : val*$bodySize;
            sizeiframe(width,true);
          }
          return false;
        }
        
      }
      
    }