2016-11-27 42 views
1

我有一組數據,我想向擴展的用戶顯示。我想操作後臺頁面並填充數據,然後通過以下方式將其顯示給用戶:chrome.tabs.create({url: chrome.extension.getURL('background.html')}Chrome擴展程序:顯示已修改的background.html

但是,這會打開一個全新的background.html頁面,該頁面不會被操縱,而且更進一步地,在完全不同的上下文中比原來background.html ...

enter image description here

即我沒有在新的頁面訪問我的數組,我想展現給用戶。

我也試圖與比background.html不同的頁面 - > results.html ......我得到它的網址,然後把它與陣列的消息,我想展現給用戶:

chrome.tabs.create({url: chrome.extension.getURL('results.html')},function(tab){ chrome.tabs.sendMessage(tab.id,{'personsarray':persons}); });

然後在results.js:

chrome.runtime.onMessage.addListener( function(request, sender, sendResponse) { console.log(request); //other operations });

但似乎該消息沒有被髮送!在控制檯中找不到任何東西!

問題:

  1. 是否有可能使用background.html頁面顯示的數據用戶?

  2. 在chrome擴展中向用戶顯示數據的適當方式是什麼?

  3. 爲什麼我沒有收到從background.js發送到results.js的消息?

回答

0

背景頁面相互訪問不受限制。當您創建results.html時,下一個適當的步驟就是從results.html的javascript頁面調用chrome.runtime.getBackgroundPage()來獲取背景頁面窗口對象。該對象將包含background.html中的所有數據和對象。

相關問題