2011-04-19 45 views
5

Estoy haciendo una extensión de cromo para encontrar todos los enlaces en una página Estoy usando un browser_action. Me aparece un error cuando actualiza la página, la extensión de Chrome activa automáticamente el código de JavaScript. ¿Cómo lo haría para que, si presionas la actualización en el navegador, la extensión no se active? Solo quiero que funcione cuando haga clic en el pequeño icono en la barra de herramientas.Autoextensión de extensión de Chrome

Así es como mi manifiesta parece

{ 
    "name": "Find all first", 
    "version": "1.0", 
    "description": "Find all Linkes", 
    "browser_action": { 
    "default_icon": "icon.png", 
    "popup": "popup.html" 
    }, 
    "icons": { 
    "16": "icon.png", 
    "128": "icon-big.png" 
    }, 
    "permissions": [ 
    "tabs", 
    "http://*/*", 
    "https://*/*" 
    ], 
    "content_scripts": [ { 
    "matches": ["http://*/*", "https://*/*"], 
    "js": ["content.js"] 
    }] 
} 

estoy llamando a continuación, esto en mi popup.html

chrome.tabs.executeScript(null, {file: 'content.js'}, function() { 
    console.log('Success'); 
}); 

Respuesta

7

Debido a que tiene contents_scripts definido en su manifiesto, content.js se ejecuta como una secuencia de comandos de contenido cada vez que se carga una página que coincida con su matches (por lo que, en realidad, cualquier página web).

sólo para ejecutar content.js en la página cuando el usuario hace clic en el botón Acción Page, retire la sección content_scripts de su manifiesto, de manera que no hay secuencias de comandos se ejecutan automáticamente. Luego, cuando se hace clic en el botón Acción de página, popup.html ejecutará content.js como debería.

Cuestiones relacionadas