Google chrome extension 如何为浏览器扩展提供输入到该浏览器的所有文本数据?

Google chrome extension 如何为浏览器扩展提供输入到该浏览器的所有文本数据?,google-chrome-extension,addeventlistener,event-listener,html-input,Google Chrome Extension,Addeventlistener,Event Listener,Html Input,我正在试验Chrome浏览器扩展。我希望能够将任何文本输入到浏览器中(通过浏览器的URL栏或社交媒体网站上的文本框等),并将该文本发送到服务器。我想知道这在chrome中是否可行,我需要使用哪些功能来实现这一点 我怀疑扩展的逻辑是这样的:每当点击输入表单/文本框中有文本的链接时,提取该文本或表单输入,并使用一些JS请求库将其发送到服务器 哪个Chrome API函数可用于将文本输入表单?您可以使用可直接访问网页数据的内容脚本获取DOM信息(输入、文本区域等)。URL数据可以使用ChromeAPI

我正在试验Chrome浏览器扩展。我希望能够将任何文本输入到浏览器中(通过浏览器的URL栏或社交媒体网站上的文本框等),并将该文本发送到服务器。我想知道这在chrome中是否可行,我需要使用哪些功能来实现这一点

我怀疑扩展的逻辑是这样的:每当点击输入表单/文本框中有文本的链接时,提取该文本或表单输入,并使用一些JS请求库将其发送到服务器


哪个Chrome API函数可用于将文本输入表单?

您可以使用可直接访问网页数据的内容脚本获取DOM信息(输入、文本区域等)。URL数据可以使用ChromeAPI通过popup.jsbackground.js访问

在过去,我很幸运地使用了它,它可以查看对网页的实时更改(或者您指定的任何您希望观察者出现的位置)。然后您可以将该数据发送到服务器

小例子

function extractinputdata() {
var inputdata = document.getElementById('some specfic HTML element')
  if (inputdata != null) {
    new MutationObserver(function(){
      //when a change has been made to the element or its children, you can record the new data
    }).observe(inputdata, {characterData: true, childList: false, subtree:true});
  }
}

没有专门的API。正如您在文档中的概述文章中所看到的,内容脚本可以访问web页面DOM,因此您可以使用它来查找文本元素。地址栏是禁止使用的,它没有公开,但在大多数情况下,您可以拦截chrome.webRequest.onBeforeRequest侦听器中的输入,该侦听器将为默认搜索引擎URL调用,其中某些参数中包含用户文本,默认情况下为Google搜索URL的q=值。