2012-03-20 3 views

risposta

16

Attualmente questo non è possibile.

+7

Vorrei poter svendere Safari – gitsitgo

2

È possibile modificare JavaScript in Safari utilizzando il debugger JavaScript Webkit. Per aprirlo usa Ctrl + Alt + C per visualizzare la console JavaScript su una macchina Windows e Command + Option + C su un Mac.

È anche possibile aggiungere la barra degli strumenti di sviluppo alla barra dei menu andando su: Preferenze -> Avanzate -> Mostra menu Sviluppo.

Vedere l'ufficiale Safari Developer Tools Guide per un riferimento su come utilizzare il debugger e tutte le scorciatoie da tastiera ad esso correlate.

Nota: a differenza di Chrome, il debugger non supporta attualmente la possibilità di fare clic su un file di script e modificarlo in posizione. Tuttavia, è ancora possibile "modificare live" il codice JavaScript interrompendo l'esecuzione utilizzando i punti di interruzione e quindi il codice di esecuzione per modificare i valori delle variabili nella console, quindi consentire l'esecuzione continua. Questo funziona perché il codice eseguito nella console viene eseguito nello stesso ambito in cui si trova il programma in un dato momento.

ad es. se si ha il codice:

var t = 1; 
(function(){ 
    var t = 2; 
    console.log(t); //* put break point on this line..  
})(); 
console.log(t); 

E voi, ma un punto di rottura dove indicato, quindi eseguire t = 4 nella console, quindi 41 viene stampato alla console.

+0

Bene, sono stato in grado di modificare il JS in Chrome ma non in Safari. Ecco perché ho fatto questa domanda. – Ixx

+0

Giusto, spiacente pensavo che volessi eseguire JS live nella pagina, non cambiare gli script caricati. No, non penso che tu possa farlo al momento. Probabilmente, il meglio che puoi fare è usare la console per modificare il codice JavaScript per modificare i valori delle variabili che il codice chiama. –

+0

Sì, è quello che sto facendo ora. – Ixx

1

Sebbene Chrome e Safari utilizzino Webkit come motore, Chrome esegue le proprie personalizzazioni e aggiunte su di esso. La modifica in tempo reale di javascript sembra essere una di queste.

Se si guarda da vicino i pannelli di debug in chrome e safari hanno anche molte altre differenze. Un cambiamento chiaramente visibile è l'icona delle impostazioni presente in chrome e che non è disponibile in Safari.