2009-12-25 11 views
11

Estoy probando una extensión simple de Google Chrome, en la que necesito comunicarme entre la página de opciones y la página de fondo para obtener/configurar las opciones.Comunicación entre la página Opciones y la Página de fondo en Google Chrome

He intentado chrome.extension.sendRequest (..) y chrome.extension.onRequest.addListener (..) pero sin éxito!

¿Echo de menos algo? ¿O debería publicar mi código?

+1

En general, se trata de una buena idea para publicar su código, o una versión reducida que demuestre el problema sin nada extraño. Es mucho más fácil para las personas decir qué está mal cuando ven el código. –

Respuesta

15

En background.html usted, usted podría tener algo como esto:

<html> 
<script> 
    settings = { 
    get foo() { 
     return localStorage['foo']; 
    }, 
    set foo(val) { 
     localStorage['foo'] = val; 
    } 
    } 
</script> 
</html> 

En su página de opciones, sólo tiene que utilizar chrome.extensions.getBackgroundPage. Por ejemplo, en options.html:

<html> 
<head> 
    <script> 
    var bkg = chrome.extension.getBackgroundPage(); 
    function saveOptions() { 
    bkg.settings.foo = 'bar'; 
    } 
    function restoreOptions() { 
    document.getElementById('foo').value = bkg.settings.foo; 
    } 
    </script> 
</head> 
<body onload="restoreOptions()"> 
    <form onsubmit="return false;"> 
    <input id="foo" type="text" /> 
    <button onclick="saveOptions();">Save</button> 
    </form> 
</body> 
</html> 

Recuerde una cosa, la guía dev es su mejor amigo :) http://developer.chrome.com/extensions/devguide

0

sí, eso no va a funcionar:

<!-- 
    - JavaScript and HTML must be in separate files: see our Content Security 
    - Policy http://developer.chrome.com/extensions/contentSecurityPolicy.html 
--> 
Cuestiones relacionadas