首页 > 代码库 > chrome extensions 中的交互

chrome extensions 中的交互

background与content_script的交互

  其所指为当前网页与扩展插件之间的交互。使用chrome.* API进行通信。

  background向content_script发送消息

    background.js

     1 chrome.tabs.sendMessage(tabId,{greeting:‘hello‘}); 

    content_script.js

    

1 chrome.extension.onMessage.addListener(
2     function(request, sender, sendResponse) {
3         console.log(request.greeting);
4         }
5 );

    附:tabId的获取方法

      background.js

      

1 chrome.tabs.onUpdated.addListener(
2     function(tabId, changeInfo,tab) {
3         console.log(tabId);
4     }
5 );  

  content_script向background发送消息

    content_script.js

    

1 chrome.extension.sendMessage({greeting:‘hello‘});

    background.js

    

chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse) {
        console.log(request.greeting);
        }
);

   区别:前者向tabs发送,后者向extension发送。

 

background与popup的交互

  其所指为扩展前后台的交互。

  popup.html中不能附加任何javascript代码,包括不限于onclick。应在popup.js中进行定义。

  popup获取background值

    bcakground.js

    

1 var greeting=‘hello‘;

    popup.js

    

console.log(chrome.extension.getBackgroundPage().greeting);

  background操作popup

    使用getViews,未成功。