É possível transferir uma seqüência de caracteres a partir de um já abrir a aba para a outra já abriu guia com uma extensão do google Chrome?

0

Pergunta

Bem, eu estou preso a essa pergunta, porque eu não sei nem por onde começar a procurar.

Aqui está o problema, eu quero resolver:

Eu gostaria de automatizar algum processo que requer de "copiar-colar" os valores de um site para outro (com URLs diferentes), então eu gostaria de fazer uma extensão em que eu possa localizar um nó DOM e tomar o valor de seu texto e colocar automaticamente em um campo de texto a partir de outra página.

Eu procurei no Mozilla oficial de documentação e concluiu que "os guias.sendMessage" poderia ser algo que eu poderia usar, mas eu preciso de guias.identificação e pelo que eu li "o chrome.guias" parece ser uma propriedade apenas de extensões, então, eu estou começando a pensar que talvez não haja maneira de fazer isso.

Eu gostaria de aprender como fazer isto, porque Ele iria me salvar horas de trabalho de rotina que necessita para passar dados de uma guia para outra, mas de mudar algumas coisas.

google-chrome-extension
2021-11-18 00:58:34
1

Melhor resposta

0

Graças a @wOxxOm eu encontrei uma maneira de obter equivalente a esse problema, aqui está a solução que eu recebo:

Uma ação de pop-up que inicia o script na página que eu estou tendo a informações e um conteúdo de script que é executado na página de destino, aqui é o manifesto.json:

{
  "name": "autofill",
  "description": "Writes info from one tab to another",
  "version": "1.0",
  "manifest_version": 3,
  "background": {
    "service_worker": "first-page-background.js"
  },
  "permissions": ["storage", "activeTab", "scripting"],
  "content_scripts": [
    {
      "matches": ["https://second-tab.com/"],
      "js": ["second-tap-content.js"]
    }
  ],
  "action": {
    "default_popup": "popup.html"
  }
}

Aqui está o javascript ligado para a "popup.html" em que eu mudar o chrome armazenamento variável:

document
.querySelector('xpath_to_element_i_want_trigger_action') 
.addEventListener('click', () => {
  let data = document.querySelector(
    'xpath_to_data'
  ).innerText;
  chrome.storage.sync.set({ form_data: data });
});

E aqui é a execução de código no script de conteúdo para a segunda aba:

chrome.storage.onChanged.addListener(function (changes) {
  for (let [key, { oldValue, newValue }] of Object.entries(changes)) {
    
    let searchBox = document.querySelector("#id_in_form)

    searchBox.innerHTML = newValue

  }
});

Espero que isso ajude alguém!

2021-11-22 19:10:38

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................