Chrome扩展程序:如何从页面获取特定信息

时间:2014-02-28 19:45:16

标签: javascript google-chrome-extension

我打算尽可能清楚地说明这一点......

基本上我想创建一个浏览器操作扩展,将当前访问过的页面中的信息显示在弹出窗口中。例如,显示页面标题,URL,图像等)

我是扩展程序开发的新手,我对正在发生的事情感到困惑。

我已经完成了chrome教程。有人能指出我正确的方向或请给我一个基本的例子。

谢谢

1 个答案:

答案 0 :(得分:2)

这是您需要的:

点击Chrome上的扩展程序图标时会打开一个弹出式页面。此页面应该运行一段javascript,将消息发送到当前所选选项卡中的内容脚本,并侦听内容脚本发回的回复。类似的东西:

$(function (){
chrome.tabs.query({active: true, currentWindow: true}, function (tabs){
      chrome.tabs.sendMessage(tabs[0].id, {action: "getDetails"}, function(details){
             //use details here
      });
    });
});

一个内容脚本直接注入主页面(您需要在其他信息中提取URL的页面)。此内容脚本读取信息并通过sendMessage api将其传递到弹出页面。像这样:

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { 
     //get details
     sendResponse(details);          
    });

这是一个SO线程,它提到了如何通过内容脚本与弹出页面进行对话:Chrome Extension how to send data from content script to popup.html

HTH!