2012-05-01 12 views
26

estoy escribiendo una extensión de Chrome justo en alerta a todo un Hello World la página que se especifica para el permiso termina de cargar, pero no su trabajo, aquí está mi scriptplazo de extensiones de Chrome para una página específica

del archivo: manifest.json

{ 
    "name": "Hello", 
    "version": "1.0", 
    "description": "Says hello to Google", 
    "permissions": ["http://*.google.com/"] 
    "browser_action": { 
    "popup": "Hello.html" 
    } 
} 

del archivo: Hello.html

<script language="Javascript"> 
    alert("Hello World"); 
</script> 

Respuesta

43

Está agregando una ventana emergente de acción del navegador, que agrega un botón a la esquina superior derecha de su navegador. (Es probable que sea invisible porque no ha especificado una imagen. Debe haber un espacio vacío a la derecha de la barra de direcciones, intente hacer clic para ver su Hello.html en una ventana emergente)

Lo que quiere es un content script. Los scripts de contenido pueden ser insertados en cada página que cargue Chrome. Puede usar los subelementos matches y exclude_matches en su archivo de manifiesto para especificar qué páginas obtienen el guión inyectado.

{ 
    "name": "Hello", 
    "version": "1.0", 
    "description": "Says hello to Google", 
    "permissions": ["tabs", "*://*.google.com/*"], 
    "content_scripts": [ 
    { 
     "matches": ["*://*.google.com/*"], 
     "js": ["hello.js"] 
    } 
    ] 
} 

Asegúrese de que cambia el nombre de Hello.html-hello.js (y deshacerse de las etiquetas <script>).

Tenga en cuenta también que cambió su http://*.google.com/ a *://*.google.com/* de modo que se aplicará a Google a través de HTTP y HTTPS (y el * arrastrando asegura que aplicará a todas las páginas en google.com, no sólo la página principal).

+1

El permiso 'tabs' no es necesario. De hecho, no se necesitan todos los permisos, porque 'alert ('Hello World!')' No está accediendo al DOM de la página. Los patrones de URL siguen reglas muy estrictas, consulte [Hacer coincidir patrones] (http://code.google.com/chrome/extensions/match_patterns.html). –

+0

Vaya, esos son permisos para otra cosa; de hecho no necesita permisos para ejecutar secuencias de comandos de contenido. (Sin embargo, las cosas específicas que usted hace * dentro de * un script de contenido pueden requerir permisos). – apsillers

+0

La "eliminación de'

Cuestiones relacionadas