Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

157
Views
Inyecte javascript desde el script de contenido con una extensión de Chrome v3

Estoy migrando mi extensión de V2 a V3. Ahora todo funciona bien excepto por una cosa. En mi versión V2 hice

 const actualCode = '(' + function () { 'console.log("demo");' } + `)();`; const script = document.createElement('script'); script.textContent = actualCode; (document.head || document.documentElement).appendChild(script); script.remove();

Tenga en cuenta que console.log("demo") es una simplificación de lo que necesito inyectar :)

Necesito inyectar algo de javascript para que mi chrome-extension-magic tenga lugar.

Ahora, en V3 esto ya no funciona. Recibo el siguiente error en mi devtools-console

 content.js:23114 Refused to execute inline script because it violates the following ContentSecurity Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-tN52+5...6d2I/Szq8='), or a nonce ('nonce-...') is required to enable inline execution.

En la guía de migración noté esta sección.

 "content_security_policy": { "extension_pages": "...", "sandbox": "..." }

pero no hay mucha descripción allí, así que esto es mágico para mí. Así que espero que alguien me pueda ayudar con esto.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Consulte Usar un script de contenido para acceder a las funciones y variables de contexto de la página

Dado content scripts se ejecutan en un entorno de "mundo aislado", no podemos realizar algunas operaciones dom especiales en content_script js.

Este ejemplo le mostrará cómo inyectar inject.js en la página web antes de que comience el documento :

 // document_start.js var s = document.createElement('script'); s.src = chrome.runtime.getURL('inject.js'); s.onload = function() { this.remove(); }; (document.head || document.documentElement).appendChild(s);

ejemplo de manifest.json para ManifestV3

 "content_scripts": [ { "matches": ["<all_urls>"], "js": ["document_start.js"], "run_at": "document_start" //default document end } ] "web_accessible_resources": [{ "resources": ["inject.js"], "matches": ["<all_urls>"] }]
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!