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 - }, '*'); + }), '*'); } } }