Quando l'utente fa clic su un collegamento ipertestuale, sto aprendo una finestra popup che scarica un file. Pubblica il download, mostra la finestra di dialogo apri/salva. Voglio chiudere la finestra popup una volta che il download è terminato (quando all'utente viene richiesto di salvare il file). Ho provato il metodo window.close, ma non funziona in quanto il contesto non è la finestra popup ma la finestra di dialogo open/save.Chiudi la pagina popup del browser dopo aver scaricato il file
risposta
Penso che non sia possibile controllarlo in modo programmatico. Questo è un elemento specifico del browser in cui alcuni browser ti consentono di selezionare una casella di controllo per chiudere la finestra e così via.
I browser hanno l'abitudine di decidere autonomamente se provare a scaricare un file o aprirlo all'interno della finestra del browser, a seconda del browser utilizzato, dei plug-in e delle impostazioni del server. Sembra che potresti aprire il link in una nuova finestra, come se il browser aprisse il file anziché scaricarlo, quindi il browser ha optato per il download. Ciò lascia all'utente un file scaricato e una finestra vuota su cui non hai alcun controllo.
Per forzarlo a scaricare, dovresti essere in grado di impostare l'intestazione Content-Type per la destinazione del collegamento a application/force-download. Il modo in cui lo fai dipenderà dalla tua configurazione e dal fatto che il file venga scaricato direttamente (nel qual caso sarà un'impostazione del server) o tramite PHP o .Net (nel qual caso è facile impostare l'intestazione in modo programmatico). Assicurarsi inoltre che il collegamento ipertestuale non abbia un attributo target="_blank"
che apre il collegamento in una nuova finestra.
Grazie Karl. Il problema non è scaricare il file ma chiudere la finestra popup dopo il download. – Ankit
Con l'intestazione Content-Type corretta e nessun target = "_ blank" (o window.open) quindi il popup non dovrebbe nemmeno aprirsi in primo luogo. –
Voglio aprire il popup e mostrare un messaggio personalizzato in quella finestra. Ma una volta completato il download, voglio chiudere quella finestra. – Ankit
si può fare una cosa:
dopo il "codice di scrittura file nel servlet o montanti azione utilizzo"
Fase 1: lo chiamano "response.flushBuffer();" Fase 2: chiamare response.sendRedirect ("close.htm")
dove close.htm è:
<html>
<script>
window.close();
</script>
</html>
L'unico problema è identificare se il download è completato. Non penso che ci sia un modo possibile per farlo. Ad ogni modo è possibile continuare a tenere il pop-up aperto fino al completamento del download. Puoi semplicemente chiudere il pop-up una volta avviato il download. Usando sotto JavaScript, no?
pop_up= window.open("", "PopUpName");
pop_up.document.write('POPUP TEXT');
pop_up.close();
È la funzionalità Browser, è possibile modificare le impostazioni del browser per quello. Non dovresti andare per la programmazione. Di default Se si scarica il file in firefox si richiede il salvataggio, ma in crome non è richiesto. È necessario modificare le impostazioni del browser.
- 1. Chiudi finestra del browser dopo l'apertura Protocollo personalizzato
- 2. Il browser Android aggiorna la pagina dopo aver selezionato il file tramite l'elemento di input
- 3. Chiudi popup dalla pressione del pulsante secondario?
- 4. necessario aggiornare la pagina Web dopo aver fatto clic su Chiudi finestra pop-up
- 5. caratteri in stringa cambiati dopo aver scaricato HTML da internet
- 6. Reindirizza la pagina Web dopo aver inviato alcuni contenuti
- 7. Come posso chiudere il popup dopo aver postato su Facebook?
- 8. Chiudi un popup dell'estensione di Chrome facendo di nuovo clic sull'icona di azione del browser
- 9. Pulsante Indietro del browser dopo la disconnessione
- 10. Come disabilitare la finestra popup predefinita del browser?
- 11. php-webdriver: attendere la risposta del browser dopo aver inviato il modulo utilizzando click()
- 12. Come chiudere la scheda del browser dopo aver inviato un modulo?
- 13. Chiudi browser senza prompt
- 14. Aggiornamento finestra padre dopo la chiusura del popup
- 15. elementFromPoint restituisce null dopo aver scrollato la pagina
- 16. Impossibile cambiare UserAgent in UIWebview dopo aver caricato la pagina
- 17. Chiudi ColorBox iFrame dopo invia
- 18. Rileva browser mobile Chiudi Evento
- 19. Scheda Browser Reactjs Chiudi Evento
- 20. Chiudi tutti i popup in jquery mobile
- 21. Identificazione tra Aggiorna e Chiudi Azioni browser
- 22. perché il programma non può fermarsi dopo aver scaricato tutte le e-mail?
- 23. Chiudere un file batch dopo aver eseguito il file jar
- 24. Come posso ottenere il popup dell'autenticazione del browser?
- 25. L'URL del documento HTML è stato scaricato dal browser client?
- 26. Pagina sfondo estensione di Chrome Mostra pagina popup
- 27. Post Back non funziona dopo aver scritto i file per la risposta in ASP.NET
- 28. Aggiorna l'URL del browser senza ricaricare la pagina
- 29. Chiudi modal bootstrap dopo invia
- 30. Riposizionare jQuery Mobile popup dopo la modifica del contenuto
Sì. Alcuni utenti preferiscono che la finestra si aggiri, ad es. in modo che possano eseguire "Esegui" da esso dopo il download; che come preferiscono e non dovresti cercare di interferire con quello (non che tu possa farlo). Tutti gli altri a cui non piace quel comportamento spacchettano la casella per farlo andare via. – bobince