Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

170
Visualizações
¿Cómo puedo hacer que funcione de manera estable e insertarlo como extensión de Chrome?

Este código guarda y ordena el texto HTML interno del cuerpo según la cantidad de veces que presionó la combinación de teclas. Funciona, pero en algún momento el script deja de funcionar y debe cambiarse o el archivo que lo contiene debe cambiarse de nombre para continuar funcionando. Además, intenté agregarlo como extensión de Chrome y en el modo de depuración veo que la secuencia de comandos está conectada (resulta conlose.log después del controlador de eventos DOMContentLoaded), pero omite algunos bloques de código y después de cada corrección, uno diferente. Puede ver este fenómeno en los modos de programa "servidor local" y "extensión del navegador". Intenté resolver este problema de alguna manera, revisé muchos foros y soluciones y todavía no t have a solution. So it's sad that I can terminar mi primer mini proyecto en js nativo (. Deseo sinceramente su guía.

emergente.js

 document.addEventListener("DOMContentLoaded", function() { let inputEl = document.body; inputEl.addEventListener("keydown", copy_paste); }); console.log('It connected'); let storage = {}; function copy_paste(e) { if (e.ctrlKey && e.key == "q") { let inputValue = window.getSelection(); navigator.clipboard.writeText(inputValue).then( navigator.clipboard.readText().then((text) => { if (!storage.hasOwnProperty(text)) storage[text] = 1; else storage[text] += 1; mySort(storage); }) ); } } function show(arrStorage) { let parent = document.getElementById("insert"); parent.innerHTML = ""; for (let i = 0; i < arrStorage.length; i++) { let para = document.createElement("h4"); para.innerText = arrStorage[i][0] + " : " + arrStorage[i][1]; parent.appendChild(para); } } function mySort(storage) { let arrStorage = []; for (let key in storage) { arrStorage.push([key, storage[key]]); } arrStorage.sort(function (a, b) { return b[1] - a[1]; }); show(arrStorage); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

navigator.clipboard.readText() requiere permiso de clipboard-read de Permission API.
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard

El valor predeterminado de clipboard-read es "prompt" (en mi caso), lo que significa que llamar a .readText() hace que un mensaje emergente solicite permiso para leer el portapapeles.

Cuando su popup.html se abre en la pestaña activa (al definir popup.html como página de opciones en manifest.json , por ejemplo), el mensaje emergente aparece al presionar cntl-q. Después de hacer clic en Aceptar en la ventana emergente, la información de permisos se almacena en Chrome. Puedes verlo en:
chrome://settings/content o chrome://settings/content/all .

Desafortunadamente, cuando se abre popup.html como ventana emergente de la acción del navegador, la ventana emergente de permiso parece estar bloqueada y su extensión parece detenerse. No sé por qué, pero supongo que es por razones de seguridad.

Creo que no hay forma de permitir clipboard-read en el programa sin la intervención del usuario.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda