En Chrome, puede crear una extensión que contiene toda de los archivos locales que necesita cargar. Esto hará que sus archivos accesibles a través de chrome-extension://...
en lugar de file://...
Hacer un archivo llamado manifest.json
en una nueva carpeta y llenarlo con:
{
"name": "File holder",
"manifest_version": 2,
"version": "1.0",
"web_accessible_resources": ["test.js", "other.js", "yetanother.js"]
}
A continuación, poner todos los guiones que desea cargar en ese nuevo directorio y asegúrese de que estén incluidos en la lista de manifiestos web_accessbile_reources
. Cargue la extensión yendo a chrome://extensions
, habilitando Developer Mode
, y seleccionando la nueva carpeta con Load unpacked extension...
.
Ahora puede acceder a todos los archivos en su directorio de extensión usando chrome-extension://[app_id]/[file_name]
, donde "app_id
" es el hash listado para la extensión en la página chrome://extensions
. Tenga en cuenta que debido a que los protocolos y nombres de host difieren de donde realiza su trabajo real (a menos que decida hacer todo su desarrollo en la carpeta de extensiones, lo que podría ser aceptable para usted), los recursos de extensión son de dominio cruzado y solo pueden cargado a través de la etiqueta <script>
.
Ahora desde la consola, que puede hacer:
var s = document.createElement("script");
s.src = "chrome-extension://aefigdoelbemgaedgkcjpcnilbgagpcn/test.js";
document.body.appendChild(s);
(Asumiendo que su archivo es test.js
y su identificador de aplicación es aefigdoelbemgaedgkcjpcnilbgagpcn
.)
Es un poco bastante para escribir, lo sé, pero tal vez puede almacenar la parte chrome-extension://[app_id]
como una variable abreviada?
Si podemos ramificarnos fuera de JavaScript y el navegador, aquí, quizás sirva su script en un servidor local (¿quizás está haciendo un desarrollo local)? Puede iniciar un servidor local con una línea de Python. – cheeken
@cheeken: Sí, en realidad es una buena idea. Tengo instalado Apache, y de todos modos desarrollo en la carpeta Apache, ¡así que es una gran alternativa! – Manishearth