Esecuzione codice javascript

11 views
Skip to first unread message

Iacopo

unread,
Jul 9, 2007, 12:54:09 PM7/9/07
to PyXPCOM Italia
Ecco la mia prima domanda da superniubbo, la butto lì:
Una volta caricata una pagina html, è possibile far eseguire del
codice javascript arbitrario a firefox?

Daniele Rizzo

unread,
Jul 9, 2007, 1:25:38 PM7/9/07
to pyxpcom...@googlegroups.com
Iacopo ha scritto:
Ecco la mia prima domanda da superniubbo, la butto lì:
Una volta caricata una pagina html, è possibile far eseguire del
codice javascript arbitrario a firefox?
  
Non so se ho capito la domanda... ti faccio una panoramica generale:

da una pagina html , visualizzata in un browser ( browser come "XUL  Element"), è possibile istanziare e richiamare componenti XPCOM, scritti in C, Javascript , Python, Java...chiaramente il codice viene eseguito solo se le  impostazioni di sicurezza lo consentono.

Pyxpcom è il "collante" che permette di utilizzare Python per realizzare e usare componenti XPCOM. I componenti XPCOM, tieni conto, sono i mattoncini di tutto il Mozilla Framework

...con python puoi estendere  le funzionalità  di una appicazione "basata su mozilla".

Daniele

Iacopo

unread,
Jul 9, 2007, 1:53:47 PM7/9/07
to PyXPCOM Italia

On 9 Lug, 19:25, Daniele Rizzo <daniele.ri...@spacespa.it> wrote:
> Iacopo ha scritto:> Ecco la mia prima domanda da superniubbo, la butto lì:
> > Una volta caricata una pagina html, è possibile far eseguire del
> > codice javascript arbitrario a firefox?
>
> Non so se ho capito la domanda... ti faccio una panoramica generale:

grazie, fai proprio bene. :)

> da una pagina html , visualizzata in un browser ( browser come "XUL

> Element"), *è possibile istanziare e richiamare* componenti XPCOM,


> scritti in C, Javascript , Python, Java...chiaramente il codice viene
> eseguito solo se le impostazioni di sicurezza lo consentono.

ok

> Pyxpcom è il "collante" che permette di utilizzare Python per realizzare
> e usare componenti XPCOM. I componenti XPCOM, tieni conto, sono i
> mattoncini di tutto il Mozilla Framework

Puoi farmi qualche esempio di componente XPCOM? Immagino che possa
essere il documento html caricato ad es., se si parla di Firefox, o la
sua barra degli url...

> ...con python puoi estendere le funzionalità di una appicazione
> "basata su mozilla".

Ok. Entrando più nel dettaglio, è possibile estendere Firefox
(un'applicazione basata su Mozilla) in modo da automatizzarne alcune
operazioni, ossia prenderne il controllo con Python? È quello che ho
fatto con Internet Explorer tramite il package pywin32, che appunto
permette, tra l'altro, di dialogare coll'interfaccia COM dei programmi
che la "supportano", per "pilotarli". Però IE non è multipiattaforma
(e cmq non mi è riuscito fargli eseguire...
Immagino che la risposta cmq sia sì, anche perché ho scoperto
l'esistenza di pyxpcom proprio ricercando nell'ambito di questo tema.
Il problema è il come...
Grazie!

Iacopo

unread,
Jul 9, 2007, 1:58:36 PM7/9/07
to PyXPCOM Italia
ho lasciato un pezzo :D

> È quello che ho
> fatto con Internet Explorer tramite il package pywin32, che appunto
> permette, tra l'altro, di dialogare coll'interfaccia COM dei programmi
> che la "supportano", per "pilotarli". Però IE non è multipiattaforma
> (e cmq non mi è riuscito fargli eseguire...

... tutto quello che volevo, tipo salvare la pagina html o appunto
eseguire del codice javascript arbitrario (sempre nei limiti della
sicurezza chiaramente).

Daniele Rizzo

unread,
Jul 9, 2007, 2:45:07 PM7/9/07
to pyxpcom...@googlegroups.com
Penso che il modo migliore per iniziare, è quello di partire dagli
esempi che trovi in rete. Un esempio di componente XPCOM scritto in
python lo trovi al seguente indirizzo:

http://developer.mozilla.org/en/docs/Creating_a_Python_XPCOM_component

Prima di iniziare con questo, tuttavia io inizierei dalle basi. Gli
ingredienti:

1.Xulrunner+Pyxpcom: una "mozilla-virtual-machine" con pyxpcom già
compilato:
-per chi usa windows, lo può scaricare una versione svn al seguente
indirizzo;
-per gli utenti Linux-Ubuntu esiste una versione deb (ed è tutto più
liscio);
-per gli utenti mac ... ne ho una versione sulla mia macchina al
lavoro... se volete ve la condivido;

2.Fare un'applicazione stupida, magari prendendo un esempio dal web, e
apportare delle modifiche. All'inizio, si può anche fare a meno di
python... ci divertiamo dopo :-) Io personalmente ho iniziato con questa
(http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx)
, ma ci sono tanti esempi di applicazioni basate su xulrunner a
qust'indirizzo:

http://developer.mozilla.org/en/docs/XULRunner_Hall_of_Fame

3.Una volta che si è capita l' "architettura tipo", dell'applicazione,
mi spingerei con il link, che ti dicevo all'inizio, che spiega come
aggiungere componenti scritti in python.

All'inizio, la strada può sembrare "pallosa", ma successivamente si
capisce che ne è valsa la pena...con questo strumenti si possono
realizzare applicazioni davvero interessanti.

Daniele



Daniele Rizzo

unread,
Jul 9, 2007, 2:49:07 PM7/9/07
to pyxpcom...@googlegroups.com
Daniele Rizzo ha scritto:

> 1.Xulrunner+Pyxpcom: una "mozilla-virtual-machine" con pyxpcom già
> compilato:
> -per chi usa windows, lo può scaricare una versione svn al seguente
> indirizzo;
https://develop.participatoryculture.org/trac/democracy/browser/trunk/dtv-binary-kit/xulrunner

Daniele Rizzo

unread,
Jul 9, 2007, 2:55:01 PM7/9/07
to pyxpcom...@googlegroups.com
ho trovato anche questo schema architetturale (a livelli), che mostra
come è strutturata un'applicazione basata su mozilla (es. firefox,
thunderbird, chatzilla, songbird,...)
architettura.pdf
Reply all
Reply to author
Forward
0 new messages