PDA

View Full Version : [Javascript] convertire funzione in stringa


Damage92
06-05-2011, 17:39
Salve!
Sto mantenendo un'estensione che ho scritto per il browser Opera. L'estensione si chiama Slim Scrollbar, e deve sostituire le normali barre di scorrimento.

Devo riuscire ad associare a document.onmousedown una funzione che ritorni false, per evitare che venga selezionato il testo quando si trascina la barra.
Però non posso sovrascrivere l'eventuale funzione originale della pagina web, perché questa deve essere poi eseguita se l'utente clicca in un altro punto della pagina!
Se potessi convertire la funzione originale in una stringa, potrei manipolarla a mio piacere... ma non ho idea di come fare!

Grazie mille!

Gimli[2BV!2B]
07-05-2011, 00:49
Strana richiesta, comunque puoi provare toString():
//funzione test
var test = function(){ var string = 'pippo'; alert( string );};

//stringa contenente la funzione anonima
var sTest = test.toString();
alert( sTest );
//esecuzione di prova
test();

//replace all'interno della funzione
sTest = sTest.replace( 'pippo', 'pluto' );
//verifica contenuto stringa
alert( sTest );
//ridefinizione della funzione test tramite malefico eval
eval( 'test = ' + sTest );
//esecuzione di prova
test();
Perché Javascript mi fa venir voglia di ridere convulsamente? :asd:

Giochino fatto con Chrome(ium), *divinità* solo sa se funziona tal e quale in tutti gli altri browser.

Damage92
07-05-2011, 09:54
;35098526']Strana richiesta, comunque puoi provare toString():

Funziona! eval serve perché toString mette anche "function anonymous...", all'inizio della stringa, vero? Io non ci sarei mai arrivato!

;35098526']
Perché Javascript mi fa venir voglia di ridere convulsamente? :asd:


Ti capisco -.- Però è così facile creare cose che funzionano in (relativo) poco tempo, che non riesco più a smettere! :D