La fermeture de la fenêtre popup créé par Google Chrome extension

Je suis en train de créer une extension Chrome qui est un remplacement pour le Délicieux bookmarklet. Je sais qu'il y a déjà une extension qui le fait, mais le problème avec cette extension est qu'une fois que vous mettre un site en signet, la fenêtre reste ouverte (plutôt que d'utiliser le bookmarklet, où le popup se ferme après la soumission du formulaire. J'ai recréé l'extension et a couru dans le même problème.

Voici mon code:

manifeste.json:

{
  "name": "Delicious",
  "version": "1.0",
  "description": "Bookmark a site on Delicious",
  "background_page": "background.html",
  "permissions": [ 
    "tabs" 
  ],
  "browser_action": {
    "default_icon": "delicious.png"
  },
  "content_scripts": [
    {
      "matches": ["http://www.delicious.com/save*"],
      "js": ["contentscript.js"]
    }
  ]
}

background.html:

<html><script>
chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.getSelected(null, function(tab) {
    w = window.open('http://delicious.com/save?url='+
          encodeURIComponent(tab.url)+
          '&title='+encodeURIComponent(tab.title)+
          '&v=5&noui=1&jump=close',
        'deliciousuiv5',
        'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550');
  });
});
</script></html>

contentscript.js:

if (document.URL == 'http://www.delicious.com/save')
{
  alert('closing...');
  self.close();
  alert('should have closed by now');
}

Quand je clique sur le Délicieux bouton, la fenêtre contextuelle arrive très bien et je peux enregistrer le signet, mais après je clique sur "Enregistrer", le popup ne se ferme pas. Deux alertes, mais self.close() ne semble pas faire quoi que ce soit. Quand j'ai supprimer l'URL de vérifier dans contentscript.js, le popup se lève comme d'habitude, la première alerte se déclenche tout de suite, et puis le popup se ferme de lui-même (comme il se doit).

Pourquoi ne pas ce travail? Il ne semble pas comme Chrome m'empêche de le faire soi-même.close(). Est Délicieux de faire quelque chose? Est-ce autre chose?

Les fichiers sont ici si vous voulez: [lien supprimé car la baisse.io est allé hors de l'entreprise]

  • La fenêtre se ferme automatiquement pour moi. Je suis en cours d'exécution assez de la version par défaut de Chrome si cela fait une différence.
InformationsquelleAutor Alex Grin | 2010-10-16