Notizie: puoi sempre seguire i nostri aggiornamenti su Twitter (@MozillaItalia) e Facebook (/MozillaItalia)

Autore Topic: Script non più compatibile... si può fare qualcosa?  (Letto 2170 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Borgata

  • Post: 624
Premessa:
lo script non è mio (l'autore è Ng Hun Yang "nhyone") e da qualche versione di Firefox (presumibilmente FF29) non funziona più.
Ciò che chiedo qui è se qualcuno più capace di me riesce a metterci mano e risolvere il problema (non credo sia difficile per chi sa lavorare con le estensioni, ma è al di fuori della mia portata ora come ora).
Piccola nota: di norma uso lo script incapsulato in un'estensione, non tramite greasemonkey. Comunque non va più neppure con GM.

Lo script:
Si chiama "BrickLink Wanted List Exporter, e serve per esportare le "liste dei desideri" da un sito che tratta di LEGO, chiamato Bricklink.
Il funzionamento è semplice: quando si accede ad una certa pagina del sito (quella che mostra la tua wanted list) appare in alto a destra un riquadro in cui si può selezionare la lista da esportare l'ID della lista da inserire nell'xml (la lista che viene esportata è sempre quella visualizzata).
Una volta selezionata la lista e la modalità di esportazione, cliccando su "Export Wanted List" viene aperta una nuova scheda che conterrà il codice XML relativo alla lista (o a più liste a seconda della modalità scelta).

Cosa non funziona:
Ora la nuova scheda aperta, anziché contenere l'XML della lista, è vuota. La pagina appare come "about:blank" (non ricordo come apparisse in precedenza).
Il problema potrebbe essere proprio legato all'aprire una nuova scheda con il contenuto.

Ultime note:
Naturalmente prima ho cercato di contattare l'autore, ma senza successo.
Lo stesso usersript.org sembra non più funzionante, infatti come potete notare dal link, sto accedendo tramite il mirror, che è passivo.
Da notare che su Choromium funziona ancora (peccato che firefox non abbia una funzionalità integrata per gestire gli userscript come chromium ma necessiti di un'estensione apposita).
Spero che qualcuno posso trovare l'inghippo, perchè per me questa estensione è estremamente utile.
« Ultima modifica: 23 Gennaio 2015 23:53:38 da Borgata »

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #1 il: 13 Agosto 2014 23:15:31 »
Devo ammettere di aver sperato che frotte di codificatori pazzi si sarebbero buttate a capofitto nell'impresa, e invece...
Forse l'effetto vacanze di agosto?

Comunque ho provato un po' a mettere le mani sullo script... per quel che ho potuto.
Dalle prove fatte, pare che lo script riesca ancora a recuperare i dati, ma che abbia difficoltà a scriverli nella nuova finestra.
Purtroppo non conosco i meccanismi utilizzati da Firefox per queste operazioni e non saprei proprio dove mettere le mani. Però non sembra complicatissimo per chi ha un po' di dimestichezza con queste cose.

Ho pensato anche di risolvere temporaneamente buttando il contenuto direttamente nella clipboard anziché creare una nuova pagina, ho trovato diversi modi per farlo ma nessuno funziona. Da quanto ho letto la clipboard è bloccata per motivi di sicurezza e quindi non più accessibile.
Strano però, con Firegestures non ho problemi del genere con gli script.
« Ultima modifica: 14 Agosto 2014 12:53:23 da Borgata »

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #2 il: 14 Agosto 2014 19:18:00 »
Tralasciando per un momento il discorso clipboard (pare possa funzionare se c'è dietro un intervento dell'ultente, ho fatto qualche prova ma non sono riuscito ad ottenere risultati), dopo una lettura a questa discussione, mi pare di poter affermare che il problema stia tutto nelle funzioni:

myWindow.document.write(text);
myWindow.document.writeln(text);


Per prova ho usato infatti

myWindow.document.body.innerHTML

e il testo di prova viene scritto senza problemi.
Usare writeln era decisamente comodo, ma dovrò farmene una ragione.

Non so se sia un bug di greasemonkey (che segnala l'operazione come non sicura), qualcosa di sintatticamente non corretto nel codice o qualche restrizione introdotta nelle ultime versioni di firefox, fatto sta che il vecchio metodo proprio non va.
Se qualcuno ha idea di come farlo funzionare, non esiti a scrivere!

Offline miki64

  • Moderatore
  • Post: 35479
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #3 il: 15 Agosto 2014 12:18:21 »
Devo ammettere di aver sperato che frotte di codificatori pazzi si sarebbero buttate a capofitto nell'impresa, e invece...
Forse l'effetto vacanze di agosto?
Forse, ma tieni conto che questo argomento non è che sia proprio alla portata di tutti...  ;)

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #4 il: 16 Agosto 2014 10:24:15 »
Eh si... ma ricordavo che da queste parti bazzicavano diversi creatori di estensioni (come klades) e pensavo che magari qualcuno si sarebbe interessato!

Comunque confermo, il problema era quello che ho riportato sopra (per fortuna  :P ).
Ho modificato lo script utilizzando innerHTML per scrivere all'interno della nuova pagina, ma ho dovuto rimuovere alcune funzionalità dello script che diventavano in questo modo più complicate da gestire.
Per come lo uso io mi va bene comunque, ma ho l'impressione che ci siano diverse cose dello script che non funzionano come potrebbero/potrebbero, ma queste sono decisamente fuori dalla mia portata.

Grazie comunque per l'interessamento, se qualcuno volesse portare il suo contributo per revisionare definitivamente lo script... ben venga!
« Ultima modifica: 16 Agosto 2014 11:42:07 da Borgata »

Offline miki64

  • Moderatore
  • Post: 35479
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #5 il: 16 Agosto 2014 18:52:11 »
Più che  complimentarmi con te (e portarti in alto il topic) non posso fare.  ;)
Ciao.  :)

Offline Mte90

  • Post: 1333
    • Mte90.Net
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #6 il: 16 Agosto 2014 21:10:57 »
Partiamo dal presupposto che codificatori è un termine che non si riferisce ai programmatori. Di solito i codificatori sono apparecchi che trasformano i valori codificandoli in altro formato.
Adesso non ho il tempo per testare lo script ma vedendo quello che hai scritto tu potresti modificare lo script in questo modo:
Codice: [Seleziona]
myWindow.document.body.innerHTML = "<html><head><title>" + title + "</title></head><body><pre>" + escTags(str) + "</pre></body></html>");

Nel codice alla fine dello script dove c'è writeln.

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #7 il: 16 Agosto 2014 21:22:08 »
Al momento non posso aiutarti, perché sono in vacanza, magari quando torno se non hai ancora risolto ci dò un'occhiata.

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #8 il: 16 Agosto 2014 23:12:21 »
@miki64
Grazie, ma più che bravura direi che è fortuna! :P

@Mte90
É più o meno quello che ho fatto, ma ho dovuto rinunciare alla possibilità di "appendere" .
PS: eheh certo, i "codificatori" non è il termine corretto, ma così la frase (intesa per essere un po' ironica) mi suonava meglio!

@klades
Grazie! Ora come ora per lo meno funziona, ma non mi dispiacerebbe poter sistemare alcune cosette.
Se per te non dovesse richiedere molto sforzo, mi piacerebbe molto un po' di assistenza!

Credete sia un problema se scrivo qui il codice come l'ho modificato?
« Ultima modifica: 16 Agosto 2014 23:14:16 da Borgata »

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #9 il: 22 Gennaio 2015 17:11:43 »
Riesumo il topic perchè a quanto pare Firefox 35 ha creato nuovi problemi a questo script.

L'errore che ottengo è il seguente:
Error: 'metodoacaso' getter called on an object that does not implement interface Window

'metodoacaso' è naturalmente il metodo che genera l'errore.
Il primo che ho trovato era relativo ad un metodo (self) presente solo in un controllo, così ho provato a vedere che succedeva eliminandolo.
L'eliminazione ha semplicemente fatto si che apparisse lo stesso errore per un nuovo metodo (localStorage).

Così a naso, dando una breve occhiata, direi che questa interfaccia Window prima era implementata implicitamente mentre ora richiede di essere dichiarata esplicitamente, oppure che l'oggetto usato non implementa più questa interfaccia e si dovrebbe usare un altro oggetto. Magari il problema sta nel come è invocato document all'inizio.
Qualunque cosa sia purtroppo non saprei da dove iniziare per risolverla. Sempre che le ipotesi abbiano un qualche senso.

Allego la versione attuale dello script (quella semplificata dopo il problema della volta scorsa), se qualcuno (klades?  :P ) volesse dargli un'occhiata.
EDIT: non vedo la possibilità di allegare, uso hastebin allora: click.

PS: leggendo in rete ho notato che il problema è generalizzato, ossia diversi utenti hanno sperimentato il problema, ma la soluzione è stata quella di disinstallare l'estensione che provocava il popup di errore.

PPS: link all'interfaccia Window: click.

« Ultima modifica: 11 Maggio 2015 19:08:11 da Borgata »

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #10 il: 23 Gennaio 2015 11:40:02 »
Nei prossimi giorni, vedo di darci un'occhiata...periodo un po' soffocante questo

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #11 il: 23 Gennaio 2015 11:51:10 »
Ragazzi, in linea generale teniamo presente una cosa: con Electrolysis (e10s) attivato, il 95% delle estensioni per Firefox non funzionerà, perché cambia completamente la logica di fondo.

In pratica dal "chrome" non puoi più agire direttamente sul "content", ma si deve passare attraverso un sistema di comunicazione tra processi, i dettagli sono qui https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox

Sono ben contento che questi problemi non ci siano con Thunderbird, perché di fatto bisogna riscrivere da zero moltissimo codice e soprattutto imparare un sacco di cose nuove :)

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #12 il: 23 Gennaio 2015 12:26:25 »
Infatti temo molto il passaggio a e10s, spero di non perdere estensioni che ritengo essenziali.

Questo però è un piccolo script, magari si riesce a sistemarlo senza troppi patemi (e poi sarei a posto per circa un annetto, tempo non quale non si sa mai riesca a buttarmi sulla programmazione delle estensioni di Firefox).
C'è anche una pagina che consentiva di convertire gli script GM in estensioni da qualche parte, immagino che anche quella andrà riscritta.

Nei prossimi giorni, vedo di darci un'occhiata...periodo un po' soffocante questo
Grazie! ;)
Se per caso ti serve che spieghi meglio come dovrebbe funzionare lo script fammi sapere, così magari risparmi un po' di tempo.

Rimango in attesa!
« Ultima modifica: 23 Gennaio 2015 23:50:43 da Borgata »

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #13 il: 26 Gennaio 2015 19:22:12 »
Giusto un promemoria per dare un'occhiata allo script!

Offline Borgata

  • Post: 624
Re: Script non più compatibile... si può fare qualcosa?
« Risposta #14 il: 09 Febbraio 2015 10:19:48 »
Altro promemoria, se qualcuno avesse tempo di darci un'occhiatina...

0 Utenti e 1 Visitatore stanno visualizzando questo topic.