2015-07-03 109 views
2

我有一個彈出窗口(不是由我自己製作的)發送postMessage登錄回調。從Chrome新選項卡擴展名接收postMessage

在新標籤頁(打開彈出窗口)中,我無法收到此消息。

這裏是我的代碼:

window.addEventListener("message", receiveMessage, false); 
function receiveMessage(event) 
{ 
    console.log("MESSAGE RECEIVED!"); 
    console.log(event.data); 
} 

^這是行不通的。

(我知道下面的API,chrome.runtime.onMessageExternal的,但由於彈出不通過Chrome運行時發送消息,我不能用這個)

我該如何解決這個問題?

回答

0

發佈消息是來回處理。嘗試這個。

/* in the extension */ 
 
var description = {}; 
 
chrome.tabs.sendMessage(tabs[0].id, { 
 
    desc: 'some value' 
 
}, function(response) { 
 
    description.value = response.details; 
 
    /* do your thing */ 
 
}); 
 

 

 
/* in the content script (your popup) */ 
 
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { 
 
    var desc = request.desc; 
 
    sendResponse(desc); 
 
});

+0

也許,這是不是在後明確。但它不是我的彈出窗口,它是從第三方彈出的,用於登錄流程,這是我無法控制的。 – GangstaGraham

相關問題