2011-02-05 8 views
34

Desidero eseguire il debug (esaminare DOM, utilizzare la console JS interattiva, ecc.) Di un'applicazione Web all'interno di una finestra di dialogo modale creata da showModalDialog().Eseguire il debug di una finestra di dialogo modale (showModalDialog) in IE

Non riesco a trovare un modo per utilizzare gli strumenti di sviluppo IE-8 standard per questo; La finestra di dialogo non ha una barra degli strumenti e la solita scorciatoia (F12) non funziona.


Un'altra domanda SO (io purtroppo ho perso il collegamento a) hanno suggerito che l'unica soluzione è quella di (forse temporaneamente) sostituire showModalDialog() con un vecchio window.open(). Se questo è il caso, c'è un modo semplice per farlo?

Avvertenze:

  • L'applicazione si preoccupa di passaggio dialogArguments e il valore di ritorno di showModalDialog
  • non posso usare altri browser, FF + Firebug, ecc

risposta

60

F12 funziona per richiamare gli strumenti di sviluppo se si attiva la barra degli indirizzi.

Go Strumenti/Opzioni Internet/Sicurezza/(scegliere la zona giusta per il tuo sito )/Personalizzato livello sotto "Varie" Alla voce "Consenti siti web per finestre aperte senza indirizzo o barra di stato", scegliere "Disattiva" .

Fonte: https://stackoverflow.com/a/10984858/79835

+0

Solo in IE9 + però. Grazie a dio non sto più usando IE 8! – hugomg

+2

Sto usando IE 8.0.7601 e funziona. Forse una sicurezza aggiornata ha aggiunto questo. – row1

+0

Ho regolato questa impostazione per la zona del mio sito (e per tutti gli altri, in effetti), ma 'showModalDialog' mostra ancora una finestra di dialogo senza barra degli indirizzi. Sto usando IE 8.0.7601. – bentsai

7

lo faccio creando un errore nel codice js, che fa apparire la finestra di errore che chiede se si desidera eseguire il debug dello script.

un modo per farlo sarebbe quello di chiamare un metodo inesistente da qualche parte nel codice.

ad es. blabla();

+1

Il debug degli script è disattivato per impostazione predefinita su IE. Ho dovuto abilitarlo nelle Opzioni Internet avanzate. – hugomg

+0

I criteri di gruppo della mia azienda mi impediscono di modificare le opzioni di sicurezza e sono impostati per consentire finestre senza indirizzo o barre di stato (mi piace il modo in cui bloccano le impostazioni in un modo MENO sicuro di quanto le desiderassi!). Quindi, questo era l'unico modo in cui ero in grado di aprire gli strumenti di sviluppo. – Elezar

2

Quello che faccio quando eseguo il debug delle finestre modali sono due cose.

  • È possibile includere nel codice js il debugger di istruzioni; questo fermerà l'esecuzione di js come se avessi inserito un breakpoint.
  • È anche possibile aprire gli strumenti di sviluppo ie prima di aprire la finestra modale e, una volta aperto, è possibile rivedere il codice generato nella scheda dello script, aggiungendo punti di interruzione, interrompendo l'esecuzione, ... tutto ciò che serve.

Spero che aiuti!

2

È ora possibile mettere la parola debugger senza virgolette nella vostra javascript.

IE e Chrome devono entrambi interromperlo come se fosse stato impostato un punto di interruzione. Assicurati che sia su una linea da solo. Premi F12 per aprire il debugger del browser, quindi aggiorna la pagina o attiva l'evento per eseguire javascript e il debugger dovrebbe visualizzare automaticamente il codice con il set di punti di interruzione.

+0

in IE, potrebbe essere necessario fare clic sulla scheda Script del debugger e fare clic sul pulsante "Avvia debug" prima. Almeno lo fai su IE9. – Bill

+0

'Inizia il debugging 'vuole sempre ricaricare la pagina, questo è fastidioso. –

Problemi correlati