diff --git a/src/app/services/http/local-storage-share.service.ts b/src/app/services/http/local-storage-share.service.ts
index f8e50eb68d3c061b444aa96c1c9f89c99a4443ac..dac4c9eceae15ec717f2a5fe5d9aad7cdcf8a09c 100644
--- a/src/app/services/http/local-storage-share.service.ts
+++ b/src/app/services/http/local-storage-share.service.ts
@@ -6,21 +6,21 @@ import { Injectable } from '@angular/core';
 export class LocalStorageShareService {
 
   constructor() {
-    window.addEventListener('message', this.messageHandler, false);
+    window.addEventListener('message', this.messageHandler.bind(this), false);
   }
 
   messageHandler(event) {
-    const { action, key, value} = event.data;
+    const { action, key, value} = JSON.parse(event.data);
     if (action === 'save') {
       window.localStorage.setItem(key, JSON.stringify(value));
     } else if (action === 'get') {
       const obj = JSON.parse(window.localStorage.getItem(key));
       if(obj !== null) {
-        event.source.postMessage({
+        event.source.postMessage(JSON.stringify({
           action: 'returnData',
           key,
           obj
-        }, '*');
+        }), '*');
       }
     }
   }