2011-02-25 1 views
1

J'ai une requête pour écrire une application utilisateur qui doit être multi-navigateur, plate-agnostique - HTTP/HTTPS sniffer (Je sais que cette partie peut être accomplie) pour la collecte de données, l'analyse et HTTP affichant les données sur un serveur. Quelqu'un peut-il jeter un peu de lumière sur les avantages de l'application aller sys plateau vs l'extension du navigateur. Plus encore sur les limites des extensions du navigateur - Ce que je peux et je ne peux pas faire. - Puis-je conserver (db4o, SQLlite) les données de trafic et effectuer des opérations CRUD? - Les extensions du navigateur peuvent-elles être asynchrones? sans affecter les performances de l'utilisateur?Navigateur Extension vs Sys Tray Apps

Répondre

1

Vous ne pouvez pas créer une extension de sniffer HTTP dans Chrome en utilisant leurs API, vous devez passer par la route du C et de créer un plugin NPAPI multi-plateforme que votre extension peut accéder à:

http://code.google.com/chrome/extensions/npapi.html

réponses à votre questions:

  • Installation rapide, il suffit de cliquer sur "Installer" dans le navigateur, et l'extension est automatiquement installée.
  • Cross plate-forme, vous pouvez créer une seule extension qui fonctionnera sur toutes les plates-formes (intégrer des plugins spécifiques à la plate-forme).
  • Développement facile, votre développement sera tout en JavaScript qui communique à votre plugin via JavaScript. Dans le plugin, vous ne traitez que les entrées et les sorties. Tout est comme une boîte noire. Vous pouvez utiliser firebreath.
  • HTML5 Web SQL Storage ou keyvalue LocalStorage et IndexDB
  • Utilisez HTML5 WebWorkers pour les opérations asynchrones.
  • Les plugins peuvent également effectuer des rappels asynchrones!

Depuis que vous utilisez NPAPI, il n'y a pas de limite. Votre NPAPI peut créer une icône SysTray si vous le souhaitez également. Les inconvénients de l'utilisation de NPAPI sont que votre extension devient dangereuse pour l'utilisateur final, puisque vous exécutez techniquement du code natif.

+0

Impossible d'utiliser XPCOM comme dans l'exemple https://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads#HTTP_Observers – dakuji