1
resposta

Como fazer dois arquivos terem intereção

Estou criando uma extensão para o crome e tenho dois arquivos .js onde um deles coleta uma coluna do google spreadsheets e outro coleta um elemento em uma determinada pagina.

Eu precisaria verificar se o elemento coletado esta dentro da minha seleção da planilha, porem não sei como fazer para os arquivos interagirem

background.js

chrome.identity.getAuthToken({interactive: true}, function(token) {
    console.log('got the token', token); //Informa se a autenticação foi bem sucedida 
  })

const API_KEY = ''; // Chaves de API
const DISCOVERY_DOCS = ["https://sheets.googleapis.com/$discovery/rest?version=v4"];
const SPREADSHEET_ID = ''; // ID planilha 
const SPREADSHEET_TAB_NAME = 'Produtos';//Nome da tabela 

function onGAPILoad() {
  gapi.client.init({
    apiKey: API_KEY,
    discoveryDocs: DISCOVERY_DOCS,
  }).then(function () {
    console.log('gapi initialized')
    chrome.identity.getAuthToken({interactive: true}, function(token) {
      gapi.auth.setToken({
        'access_token': token,
      });
      //Coleta a coluna com SKU
      gapi.client.sheets.spreadsheets.values.batchGet({
        spreadsheetId: SPREADSHEET_ID,
        majorDimension: "COLUMNS",
          ranges: ["A2:A"]
      }).then(function(valores) {
        getValues(valores);
      });
    })
  }, function(erro) {
    console.log('erro', erro)
  });
}
//Função que retorna arary com itens da planiha 
function getValues(e) {
  const valores = e.result.valueRanges.map(sku => sku.values[0])
  console.log(valores)


}

inject.js

//coleta o item contido na pagina 
 var ref = document.querySelectorAll(".form-group")
 var ref = ref[6]
 var ref = ref.querySelector(".align-left")
 console.log("testes")

//Verificar se intem esta na lista
 if(valores[0].includes(ref.textContent)==true){
        ref.style.color = "red"
    }
1 resposta

Boa noite, Felipe! Como vai?

De modo geral, uma função declarada em um arquivo JS está no escopo global e portanto pode ser acessada de qualquer outro arquivo. Então, no arquivo background.js ( que segundo o que eu entendi é o arquivo que lida com a planilha ), vc pode criar uma função que recebe um valor, verifica se esse valor está nos dados da planilha e, por fim, retorna true ou false. O que acha da ideia?

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!