Расширение Chrome: Как захватить всплывающее сообщение после автоматического заполнения формы из background.js? - PullRequest
1 голос
/ 27 апреля 2019

Я создаю расширение Chrome - оно автоматически заполняет определенную веб-форму несколько раз.Background.js отправляет сообщения на content.js, который работает нормально.После отправки формы на веб-сайте появляется сообщение типа «Форма отправлена. Ссылочный номер ...», и я хочу перехватить все эти сообщения.Как этого добиться?

background.js

window.popups = []
chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.type === "myType") {
        chrome.tabs.create({
            url: "https://www.example.com/form"
        }, function(tab) {
          chrome.tabs.onUpdated.addListener(function listener(tabId, changeInfo) {
            if (tabId === tab.id && changeInfo.status == 'complete') {
              chrome.tabs.onUpdated.removeListener(listener)
              chrome.tabs.sendMessage(tabId, {"msg":"hello"}, function(res){})
            }
          })
        })
      }else if(request.type === "popup"){
        const msg = request.msg
        window.popups.push(msg)
      }
  }

Я хочу вызвать эту функцию getPopup после отправки каждой формы.

function getPopup(){
        chrome.tabs.query({currentWindow: true, active: true},
            function(tabs){
                chrome.tabs.sendMessage(tabs[0].id, {'type':'submitted'}, readPopupArr)
            }
        )
    }

content.js

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
    if(request.something){

    }else if(request.type == "submitted"){
        let msg = $(".someclass").text()
                msg = msg.replace("OK", "");
chrome.runtime.sendMessage({
          type:"popup", msg:msg
        })
    }

})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...