Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
Error al importar '@tensorflow/tfjs' para usar el modelo local en la extensión de Chrome

Traté de usar el modelo local de tensorflow en mi extensión de Chrome. En contentScript :

 import * as tf from '@tensorflow/tfjs'; const MODEL_URL = './model/model.json'; const model = tf.load_model(MODEL_URL); model.run("text");

Mi manifest.json :

 "content_security_policy": { "extension_pages": "script-src 'self' http://localhost; object-src 'self';" }, "background": { "service_worker": "background.js" }, "action": { "default_title": "My extension", "default_popup": "popup.html" }, "permissions": [ "tabs", "history", "background", "webNavigation", "activeTab", "storage" ], "content_scripts": [ { "matches": [ "<all_urls>" ], "run_at": "document_start", "js": [ "contentScript.js" ] } ]

Pero recibí el error Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".

Mi package.json :

 { "name": "my-extension", "version": "0.1.0", "description": "My Chrome Extension", "private": true, "scripts": { "watch": "webpack --mode=development --watch --config config/webpack.config.js", "build": "webpack --mode=production --config config/webpack.config.js" }, "devDependencies": { "copy-webpack-plugin": "^6.4.1", "css-loader": "^4.3.0", "file-loader": "^6.2.0", "mini-css-extract-plugin": "^0.10.1", "size-plugin": "^2.0.2", "webpack": "^4.46.0", "webpack-cli": "^3.3.12", "webpack-merge": "^5.8.0" }, "dependencies": { "@tensorflow/tfjs": "^3.16.0", "@tensorflow/tfjs-node": "^3.16.0" } }

¿Cuál debería ser la forma correcta de usar el modelo local?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

TL; DR -

La versión 3 del manifiesto no permite el uso de 'unsafe-eval' . Debe agrupar el código de la biblioteca en su extensión o usar una API externa a la que llamará su extensión usando algo como el paso de mensajes.

Ligeramente más detallado con enlaces -

De la descripción general oficial de la versión 3 del manifiesto :

Una mejora de seguridad clave en Manifest V3 es que las extensiones no pueden cargar código remoto como JavaScript o archivos Wasm. Esto nos permite revisar de manera más confiable y eficiente el comportamiento seguro de las extensiones cuando se envían a Chrome Web Store. Específicamente, toda la lógica debe estar incluida en el paquete de la extensión.

En lugar de código remoto, recomendamos el uso de archivos de configuración remota. Consulte la guía de migración para obtener más información sobre cómo trabajar con este cambio.

Aquí está el enlace a la sección de la guía de migración sobre el código alojado de forma remota (PD: no pego todo aquí porque estas guías podrían actualizarse)

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda