Esiste uno strumento per modificare dinamicamente l'esecuzione di JavaScript in un browser? [chiuso]

StackOverflow https://stackoverflow.com/questions/255785

  •  05-07-2019
  •  | 
  •  

Domanda

Esiste uno strumento per modificare dinamicamente l'esecuzione di javascript in un browser? Ad esempio, per modificare i valori delle variabili javascript durante il runtime.

È stato utile?

Soluzione

Debugger Javascript di Firebug o Venkman.

Altri suggerimenti

Quindi, Firebug è davvero una delle migliori opzioni o, se sei uno sviluppatore che possiede Visual Studio e desideri eseguire il debug utilizzando IE, puoi farlo. Supponiamo che lo farai con Firebug usando Firefox.

Per prima cosa, determinare dove si desidera modificare il codice e posizionare la seguente riga appena prima la riga con cui si desidera iniziare a scherzare:

debugger;

Ciò farà sì che Firebug interrompa l'esecuzione dello script in quel punto, a quel punto puoi quindi scorrere il codice e modificare i valori delle variabili.

Puoi anche usare Firebug per inserire punti di interruzione facendo clic a sinistra di una riga di codice nella finestra dello script di Firebug:

Screenshot di Firebug Breakpoint

Guarda nella shell javascript qui . È come un debugger nel tuo browser. È possibile eseguire / modificare qualsiasi funzione javascript sull'oggetto documento attivo.

Molto utile per il debug / la gestione di javascript di altre persone, su siti in cui non si ha accesso al server / sorgente.

Ho già detto che ha il completamento con la scheda? è fantastico.

Opera 9 viene ora fornito in bundle con Dragonfly (equivalente FireBug), e ho ho capito che anche questo può modificare JavaScript al volo. È almeno una caratteristica a venire, se non hanno avuto il tempo di includerla, comunque.

Dai un'occhiata a Firebug

Come menzionato da altri, Firebug ti consente di impostare punti di interruzione nel tuo JavaScript (anche se non ho avuto un grande successo nel colpire i punti di interruzione quando il mio JavaScript è IN un documento HTML invece di un file esterno) che interromperà l'esecuzione di una funzione durante il runtime.

Ti permette anche di visualizzare gli oggetti DOM e tutte le proprietà (che include le tue variabili JavaScript).

Esiste anche una versione Lite di Firebug che funzionerà con browser non Firefox.

Mozdev ha uno strumento chiamato MozREPL . Non solo puoi modificare e ridefinire il codice al volo, ma puoi anche accedere al codice del browser sottostante. È davvero bello.

Apre una porta sul tuo computer e ti consente di collegare una sessione Telnet (solo dall'host locale) per avviare l'esecuzione del codice. Puoi anche aprire quella porta fino a connessioni che non provengono da localhost .... (ma fai attenzione, è piuttosto insicuro e pericoloso, ecc. Ecc.).

Viene fornito con una modalità emacs minor che ti consente di inviare varie regioni di testo direttamente a mozdev e offre una modalità di interazione molto piacevole. L'ho ulteriormente espanso per impostare i punti di interruzione di Firebug direttamente da Emacs e avviare test di selenio. Fondamentalmente posso scrivere il mio browser dal mio editor. È molto bello. A un certo punto presto rilascerò il codice sorgente.

JavaScript ha una eval (), puoi costruire la tua stringa e poi eseguilo.

<script type="text/javascript" language="javascript">
  example = function() {alert('first');}
  example();
  eval("example = function() {alert('second');}");
  example();
</script>

Il codice sopra è un esempio di come eval può essere usato per cambiare il codice esistente.

@eyelidlessness, questo dimostra che puoi cambiare il codice esistente. La tua modifica alla domanda chiarisce la domanda originale, ma quindi fa sembrare invalida la mia risposta, ma al momento della sua pubblicazione originale era un punto valido, il poster originale avrebbe dovuto rendere la domanda più chiara.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top