J'essaie de créer une extension Chrome qui remplace le bookmarklet Delicious. Je sais qu'il existe déjà une extension qui le fait, mais le problème avec cette extension est qu'après avoir mis en signet un site, la fenêtre contextuelle reste ouverte (par opposition à l'utilisation du bookmarklet, où le popup se ferme après l'envoi du formulaire. l'extension et a couru dans le même problèmeFermeture de la fenêtre contextuelle créée par l'extension Google Chrome
Voici mon code:.
manifest.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');
}
Lorsque je clique sur le bouton délicieux, le menu contextuel se présente bien et je peux enregistrer le signet, mais après que je clique sur « Enregistrer », la fenêtre ne se ferme pas. Les deux alertes apparaissent, mais self.close()
ne semble pas faire quoi que ce soit. Lorsque je supprime la vérification de l'URL dans contentscript.js, la fenêtre contextuelle apparaît comme normale, la première alerte se déclenche immédiatement, puis la fenêtre se ferme automatiquement (comme il se doit).
Pourquoi cela ne fonctionne-t-il pas? Il ne semble pas que Chrome m'empêche de faire self.close(). Delicious fait-il quelque chose? Est-ce autre chose?
Les fichiers sont ici si vous voulez les: [lien supprimé car drop.io est sorti des affaires]
La fenêtre se ferme automatiquement pour moi. Je cours une version assez par défaut de Chrome si cela fait une différence. –