chrome annulla l'azione di "impedire a questa pagina di creare finestre di dialogo aggiuntive"


122

A volte trovo che sia necessario riattivare gli avvisi per il debug. Ovviamente posso chiudere la scheda e ricaricarla, ma esiste un modo migliore?

Risposte:


62

No. Ma dovresti davvero usare console.log()invece che alert()per il debug.

In Chrome ha anche il vantaggio di poter stampare interi oggetti (non solo toString()).


10
Gli avvisi sono utili perché influenzano i tempi. E l'introspezione dell'istruzione web inspector console.log a volte può avvenire dopo che un mucchio di codice è stato eseguito dopo che il log della console ha nascosto lo stato alla riga quando è stato eseguito lo stato console.log.
Bjorn

10
@BjornTipling Per quello puoi usare debuggero un punto di interruzione.
Ionică Bizău

1
La tua risposta "no" significa che non esiste un altro modo per riattivare gli avvisi o che ritieni che il richiedente non dovrebbe utilizzare gli avvisi?
LS

1
So che la mia risposta non ha risposto direttamente alla domanda nel modo in cui era formulata, ma ha fornito le informazioni che il poster originale stava cercando. Per quanto riguarda la risposta di Dentaku, posso dire con una certa sicurezza che non è la risposta corretta, poiché il poster originale dice specificamente che conosce quella soluzione e sta cercando qualcos'altro.
Per Salbark

E 'il 2017 e un po' tardi, ma per quanto riguarda sto cercando questo informaton e ho trovato questa discussione, voglio aggiungere seguente: L'auto affermazione è perfettamente corretto e si dovrebbe usare console.log, debuggero punti di rottura per il debug. Ma la risposta è sbagliata alla domanda. Ci sono alcuni casi in cui si desidera effettivamente utilizzare qualcosa come Javascript confirm();e quando si preme la casella di controllo, verrà impedita la visualizzazione della finestra di dialogo. Quindi la domanda è: puoi ancora annullarlo o persino impedirlo, perché VUOI questa finestra di dialogo per la tua pagina (non per annunci pubblicitari di annony)
Cagatay Ulubay

157

Chiudi la scheda della pagina in cui hai disabilitato gli avvisi. Riapri la pagina in una nuova scheda. L'impostazione dura solo per la sessione, quindi gli avvisi verranno riattivati ​​una volta che la nuova sessione inizia nella nuova scheda.


29

Quindi la risposta corretta è: SI, c'è un modo migliore.

Fare clic con il tasto destro sulla scheda e selezionare "Duplica", quindi chiudere la scheda originale se lo si desidera.

L'avviso viene riattivato nel duplicato.

La scheda duplicata sembra ricreare lo stato di esecuzione della scheda originale in modo che tu possa semplicemente continuare da dove eri.


4
Cordiali saluti, se fai clic con il pulsante centrale sull'icona di aggiornamento, la scheda viene duplicata. Facendo clic con il tasto centrale sui pulsanti Indietro / Avanti si aprono anche le loro pagine in nuove schede. Abbastanza utile.
RobM

Sebbene gli strumenti di debug siano ottimi, a volte è bene stampare semplicemente sullo schermo senza guardare il codice del debugger. È pulito. Non devi essere d'accordo, ma sono d'accordo con questa risposta.
ejbytes

@ RobM Beh, che io sia dannato. Non avrei mai saputo che il clic centrale potesse fare anche questo.
ASalazar

Dalla mia esperienza, la frase "chiudi la scheda originale se lo desideri " sembra fuorviante, perché fino a quando non chiudo la scheda precedente, l'avviso non viene visualizzato nel nuovo. Quindi la scheda originale deve essere chiusa.
Stan

6

Altre 2 soluzioni con cui ho avuto fortuna quando né la chiusura della scheda + la riapertura della pagina in un'altra scheda né la chiusura di tutte le schede in Chrome (e il browser), quindi il riavvio non ha funzionato:

1) L'ho riparato sulla mia macchina chiudendo la scheda, chiudendo forzatamente Chrome e riavviando il browser senza ripristinare le schede (Nota: su un computer con CentOS Linux).

2) Il mio capo (anche su CentOS) ha avuto lo stesso problema (gli avvisi sono una parte importante del processo di debug Javascript della mia azienda per numerosi motivi, ad esempio legacy), ma il mio primo metodo non ha funzionato per lui. Tuttavia, sono riuscito a risolverlo per lui con il seguente processo:

  • a) Crea un file di testo vuoto chiamato FixChrome.sh e incolla il seguente script bash:

    #! /bin/bash
    cd ~/.config/google-chrome/Default     //adjust for your Chrome install location
    rm Preferences
    rm 'Current Session'
    rm 'Current Tabs'
    rm 'Last Session'
    rm 'Last Tabs'
  • b) chiudi Chrome, quindi apri Terminale ed esegui lo script (bash FixChrome.sh).

Ha funzionato per lui. Lo svantaggio è che perdi tutte le schede della sessione corrente e precedente, ma ne vale la pena se questo è importante per te.


4

apri una nuova finestra o scheda con lo stesso link .. l'opzione PREVENT dura solo per sessione ..


1
in che modo questo differisce dalla nota dell'OP cheOf course I can close the tab and reload it but Is there a better way?
Jeff Puckett

2

Se si desidera che la finestra di dialogo venga riattivata per la pagina impostata come finestra di dialogo di prevenzione da mostrare.

Chrome: seleziona le impostazioni, si aprirà una pagina Google per Chrome con tutte le tue impostazioni per Chrome.

In fondo, vai alle impostazioni avanzate e in fondo alle impostazioni avanzate puoi fare clic su Resset Browser Settings ... questo farà apparire la finestra di dialogo come dovrebbe.


8
Anche se ripristina certamente il problema di avviso, dovrebbe essere usato con cautela, poiché ripristina tutte le impostazioni. Non c'è modo di selezionare ciò che si desidera ripristinare. Inoltre non credo sia più semplice che aggiornare la pagina
fejese

2
Sfortunatamente Google ha indicizzato questo come la risposta ... è terribile. non farlo.
macm

-2

La disattivazione dell'accelerazione hardware sembra essere l'impostazione che influenza i popup e le finestre di dialogo.

Chrome nascondeva continuamente le finestre di dialogo quando dovevo rispondere Sì o No alle cose, anche quando dovevo rinominare le cartelle nel mio pannello dei segnalibri. Dopo settimane passate a farlo. Ho disabilitato tutti gli helper di Chrome in Impostazioni, anche in Windows 10 ho disattivato Scatta finestra. Ha fatto qualcosa per rimettere i popup e le finestre di dialogo nel Viewport.

Quando si verifica questo bug, sono stato in grado di chiudere una scheda premendo prima Invio prima di fare clic sul pulsante X di chiusura della scheda. Il browser aveva una casella di avviso, nascosta che necessitava di una risposta da parte dell'utente.

Disattivare e riattivare l'accelerazione hardware, interrompere il processo di Chrome e disattivare tutti gli altri helper e viceversa ha risolto il problema per me ... Deve essere in Chrome stesso perché sono appena entrato in una finestra di Chrome sul Mac e ora lo ha fermato il problema, senza alcun intervento. Immagino che sfogliando le impostazioni di Chrome on / off / on abbia causato il riposizionamento delle finestre di dialogo. Non riesco a convincere il browser a ripetere l'errore ora ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.