Estoy creando una extensión de Chrome y la he integrado con livereload-js . Está funcionando, excepto que la llamada a chrome.runtime.reload() un error que indica que la función reload no existe en chrome.runtime . Esto es extraño, ya que la documentación dice que este método debería estar allí y cuando leo los documentos para el método de recarga dice que este método debería estar disponible sin necesidad de permisos adicionales. Si esto se eliminó en la versión 3 del Manifiesto, no se ha explicado en los documentos.
Para simplificar, eliminé la mayor parte del código de la aplicación y simplemente estoy tratando de hacer que Livereload funcione. Aquí está mi manifest.json :
{ "name": "Cool AF", "description": "something cool", "version": "1.1", "manifest_version": 3, "background": { "service_worker": "background.js" }, "content_scripts": [ { "matches": ["https://nevermind/*"], "css": ["main.css"], "js": ["main.js", "livereload.js"] } ], "host_permissions": ["http://localhost:35729/"], "permissions": ["storage", "management", "activeTab", "alarms", "background"] } El código en livereload.js considera si es una extensión de Chrome y llama a chrome.runtime.reload() , lo que genera un error. Eliminé todos los demás códigos de la extensión además de un console.log que me permite saber que la extensión se está cargando. ¿Alguna idea sobre cómo hacer que aparezca la función de reload en el objeto chrome.runtime ?
chrome.runtime.reload no está disponible para secuencias de comandos de contenido.
Consulte la documentación para ver la lista de métodos disponibles para los scripts de contenido; algunos métodos de chrome.runtime son, pero no todos:
runtime:
connectgetManifestgetURLidonConnectonMessagesendMessage
La forma idiomática es enviar un mensaje a su secuencia de comandos en segundo plano para solicitarle que realice una operación que las secuencias de comandos de contenido no pueden realizar.