我正在編寫一個Chrome擴展並提出問題。打開數據並將其傳遞給內容腳本中的彈出式窗口(新選項卡)
我的擴展名有一些.html頁面,讓它成爲'popup.html'。我將一個內容腳本注入某個頁面,此腳本在一個新選項卡中打開一個'popup.html',其中包含'var p = window.open(chrome.extension.getURL('/ popup.html'),「popup」 )',它完美的工作。接下來,我需要傳遞一些數據到這個窗口,我不知道如何以一種簡單的方式做到這一點。
出於某種原因,我無法從內容腳本
var p = window.open(chrome.extension.getURL('/popup.html'), "popup");
p.foo(data);
在控制檯中調用子窗口的功能,我看到遺漏的類型錯誤:無法調用未定義消息的方法「富」。
我無法在查詢字符串中傳遞數據,因爲數據太大了。
有沒有一種優雅和簡單的方式來傳遞數據到這種窗口?我想過消息傳遞,但是如何使用背景頁面有效地獲取新打開的窗口的標籤ID?
非常感謝。
UPD: 我試圖逆邏輯,並從父窗口數據與「window.opener.foo()」,但在新打開的選項卡window.opener
返回null
。
我認爲這個問題更正確的標題應該是「打開並傳遞數據到新標籤」。 'popup'是Chrome擴展中的一個特定術語,它似乎不是您正在使用的內容。 – ripper234