我打開一個彈出式窗口:比較窗口對象
a = window.open('//example.com');
從這個窗口,我發送郵件裏面:
window.opener.postMessage('test', '*');
並與接受它:
window.addEventListener('message', e => b = e.source);
因爲這會觸發任何發送到窗口的消息,所以我想使if(a == b)
來驗證消息來自窗口a。可悲的是,這總是會返回false
。有關於此的任何想法?
是您的源代碼是否行到? postMessage需要多一個參數才能運行。 – songxunzhao
@songxunzhao你說得對,我忘了。但那不是重點。 –
它適用於我的示例,請檢查此鏈接https://plnkr.co/edit/q1bfQwWJlsx8eQbGSqEA?p=preview – songxunzhao