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

225
Views
¿Cómo puedo aplicar dinámicamente scripts y hojas de estilo a las URL externas en Electron.js?

Estoy tratando de hacer una pequeña aplicación de electrones que cargue un sitio web aleatorio a través de 'loadURL' y luego le aplique dinámicamente scripts y hojas de estilo.

Hice una aplicación de ejemplo simple, que carga https://stackoverflow.com/ , y en 'preload.js' agrega 'renderer.js' y 'styles.css' al DOM del sitio web. Aquí está el código:

principal.js

 const {app, BrowserWindow} = require('electron') const path = require('path') function createWindow () { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, 'preload.js') } }) mainWindow.loadURL('https://stackoverflow.com/') } app.whenReady().then(() => { createWindow() app.on('activate', function () { if (BrowserWindow.getAllWindows().length === 0) createWindow() }) }) app.on('window-all-closed', function () { if (process.platform !== 'darwin') app.quit() })

precargar.js

 window.addEventListener('DOMContentLoaded', () => { //Dynamic style linking to the document var fileref = document.createElement("link") fileref.setAttribute("rel", "stylesheet") fileref.setAttribute("href", "E:/SomeCodingStuff/testElectron/test/styles.css") document.getElementsByTagName("head")[0].appendChild(fileref) //Dynamic script linking to the document var fileref2 = document.createElement("script") fileref2.setAttribute("src", "E:/SomeCodingStuff/testElectron/test/renderer.js") document.getElementsByTagName("body")[0].appendChild(fileref2) })

renderizador.js

document.body.classList.add('blue_background');

estilos.css

 .blue_background{ background-color: cornflowerblue; }

Como puede ver, esta aplicación debería abrir un sitio web y cambiar el color de su cuerpo a azul, y funciona perfectamente bien con un archivo local 'index.html' y 'loadFile', pero con 'loadURL' se niega a cargar recursos locales: captura de pantalla de una consola

Encontré una publicación al respecto: No se puede abrir el archivo local - Chrome: no se permite cargar el recurso local, por lo que entiendo que Chrome se niega intencionalmente a cargar archivos locales. La solución provista en esa publicación (cargar estos archivos usando un servidor local) funciona bien para mí, pero es demasiado voluminosa e inconveniente para una aplicación que quiero hacer.

Parece que no hay otra solución en la codificación web clásica, pero ¿hay alguna solución electrónica para este problema?

Estaría agradecido por cualquier sugerencia!

about 4 years ago · Juan Pablo Isaza
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!