Как дать расширению браузера все текстовые данные, вводимые в этот браузер? - PullRequest
0 голосов
/ 26 мая 2018

Я экспериментирую с расширениями браузера Chrome.Я хочу иметь возможность принимать любой текстовый ввод в браузер (через строку URL браузера или в текстовые поля на сайтах социальных сетей и т. Д.) И отправлять этот текст на сервер.Мне интересно, возможно ли это в Chrome и какие функции мне нужно использовать для достижения этой цели?

Я подозреваю, что логика расширения будет работать примерно так: каждый раз, когда щелкают ссылку, где есть текст в форме ввода / текстовом поле, извлекаем этот текст или ввод формы и отправляем его с использованием некоторых запросов JS.библиотека на сервер.

Какую функцию Chrome API можно использовать для ввода текста в форму?

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете получить DOM информацию ( ввод , текстовые поля и т. Д.), Используя content_script , который имеет прямой доступ к данным веб-страницы,Доступ к данным URL можно получить через popup.js или background.js , используя chrome API chrome.tab.query .

InВ прошлом мне больше всего повезло с использованием 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});
  }
}
...