2016-11-27 43 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中的所有数据和对象。

相关问题