Chrome扩展程序:如何在不使用弹出窗口的情况下捕获文本

时间:2014-04-21 22:48:17

标签: javascript google-chrome google-chrome-extension

我是扩展建设的新手,很抱歉这个愚蠢的问题: 我需要从活动标签中捕获文本(例如段落标签中的所有文本,将其发送到扩展名。之后,扩展名将文本发送到其他地方(这不是问题)。我只使用弹出窗口打开/ off扩展和重新发送文本。我需要这样,文本将在用户进入浴缸后自动发送(不按下扩展图标)。 在popup.js中我添加了代码:

    popup.js    
    document.addEventListener('DOMContentLoaded',function() {
          chrome.windows.getCurrent(function (currentWindow) {
            chrome.tabs.query({active: true, windowId: currentWindow.id},
                              function(activeTabs) {
              chrome.tabs.executeScript(
                activeTabs[0].id, {file: 'tabInjection.js', allFrames: true});
            });
          });
        });
chrome.extension.onRequest.addListener(function(jsonText) {
    sendToOtherServer(jsonText);
});

sendToOtherServer() - 发送文本的功能

    tabInjection.js

    var currentText = [].slice.apply(document.getElementsByTagName('p'));
    console.log(currentText[0]);

    var clearText = [];
    for ( var index in currentText) {
        console.log(currentText[index].innerHTML);
        clearText.push(currentText[index].innerHTML + "<br>");

    }

    var jsonText = JSON.stringify(clearText);

 chrome.extension.sendRequest(jsonText);

问题是,只有当我按下扩展图标时代码才能工作,我需要在不按下的情况下执行此操作。我明白有一点容易,我错过了,但我不知道是什么:) 可能是一个已知的解决方案(希望如此)。 非常感谢!

1 个答案:

答案 0 :(得分:1)

Chrome扩展程序内容脚本可能能够执行您想要的操作。以下是如何使用它们的链接:https://developer.chrome.com/extensions/content_scripts