Ho un'applicazione che mostra alcuni file statici da scaricare. Questa applicazione crea un iframe nascosto e imposta l'origine sull'URL del file.Come scaricare un file in un'app TaskPane senza usare window.open()?
Il browser mostra una finestra di dialogo Salva come.
Ma all'interno di Microsoft Office non esiste una finestra di dialogo Salva come e il file scaricato non è stato avviato.
Il file viene servito con Content-Disposition: Attachment
. La soluzione di lavoro semplicemente aprirà una nuova istanza del browser e attiverà il download del file. Non voglio aprire una nuova finestra che si focalizzerà.
<!DOCTYPE html>
<html>
<head>
<script>
function di(){
document.getElementById("d").src="blob.dat";
}
</script>
<title>download</title>
</head>
<body>
<h1>file loading</h1>
<h2>works</h2>
<p>But opens a new window</p>
<a href="blob.dat" target="_blank"> a blank </a><br>
<a href="blob.dat" target="download"> named frame </a>
<h2>won't work</h2>
<a href="blob.dat"> a self </a><br>
<a href="blob.dat" target="_self"> a self </a><br>
<a href="blob.dat" target="_top"> a top </a><br>
<a href="#" onclick="di();"> iframe </a><br><br>
<iframe id="d"></iframe>
</body>
</html>
Penso che sia un bug serioso, se un'applicazione Web non è abilitata a seguire i collegamenti.
L'attributo di download in Html5 lo farebbe ma nessun supporto IE e safari. .. –
Le app per ufficio sono sempre Webviews di Internet Explorer, ma ci proverò. –
La finestra di dialogo Salva è una politica di sicurezza ed è specifica per il browser. –