如何将浏览器扩展名所有文本数据输入到该浏览器中?

时间:2018-05-26 17:05:21

标签: google-chrome-extension addeventlistener event-listener html-input

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

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

可以使用哪种Chrome API函数将文本输入到表单中?

1 个答案:

答案 0 :(得分:0)

您可以使用 content_script 获取 DOM 信息(输入 textareas 等),该信息可直接访问网页数据。可以使用chrome API chrome.tab.query通过 popup.js background.js 访问网址数据。

在过去,我使用MutationObservers获得了最好的运气,这会查看网页的实时更改(或指定您希望观察者在何处指定)。然后,您可以将该数据发送到服务器。

小例子。

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});
  }
}