我是扩展建设的新手,很抱歉这个愚蠢的问题: 我需要从活动标签中捕获文本(例如段落标签中的所有文本,将其发送到扩展名。之后,扩展名将文本发送到其他地方(这不是问题)。我只使用弹出窗口打开/ 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);
问题是,只有当我按下扩展图标时代码才能工作,我需要在不按下的情况下执行此操作。我明白有一点容易,我错过了,但我不知道是什么:) 可能是一个已知的解决方案(希望如此)。 非常感谢!
答案 0 :(得分:1)
Chrome扩展程序内容脚本可能能够执行您想要的操作。以下是如何使用它们的链接:https://developer.chrome.com/extensions/content_scripts