2011-02-09 6 views
8

J'introduis une page Web dynamique dans un popup. Actuellement son fonctionnement et chaque fois que le popup est chargé la page Web est chargée à nouveau, ainsi me perdre le travail que j'ai fait sur la page Web dans le popup. Bien que ce soit bien, mais je veux que cette page Web reste chargé en arrière-plan et je l'affiche juste en popup sur le clic. Pour ce faire, j'ai copié le code complet de ma page pop-up (script + html) à background.html. Maintenant, comment dois-je accéder à la page complètement dans une fenêtre contextuelle et afficher directement (je veux montrer html aussi-de la page d'arrière-plan)Page d'arrière-plan dans l'extension popup-chrome

Merci

Répondre

13

popups vivent dans le même processus (le processus d'extension) que la page d'arrière-plan, et une page peut obtenir la fenêtre DOM de l'autre. Un popup obtient la page d'arrière-plan en appelant chrome.extension.getBackgroundPage(). Donc, chaque fois que vous ouvrez le popup, il suffit de lire et d'écrire dans une variable sur la page d'arrière-plan, par exemple chrome.extension.getBackgroundPage().enteredData = "value";.

Alternativement, vous pouvez utiliser HTML5 localStorage pour stocker des variables même après l'arrêt du navigateur; par exemple. localStorage['enteredData'] = "value".

+2

Cela ne fonctionne que pour l'enregistrement de javascript. Il n'y a aucun moyen de maintenir l'état DOM d'une page html réelle entre popup ouvert/ferme. – cilphex