Ich habe eine Anwendung, die einige statische Dateien zum Download zeigt. Diese Anwendung erstellt einen versteckten Iframe und legt die Quelle für die Datei-URL fest.Wie kann ich eine Datei in einer TaskPane App ohne window.open() herunterladen?
Der Browser zeigt einen Speichern-als-Dialog.
Aber in Microsoft Office gibt es keinen Speichern-als-Dialog und der FileDownload wird nicht gestartet.
Die Datei wird mit Content-Disposition: Attachment
geliefert. Die Arbeitslösung öffnet einfach eine neue Browser-Instanz und löst den Download der Datei aus. Ich möchte kein neues Fenster öffnen, das den Fokus gewinnen wird.
<!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>
Ich denke, es ist ein seriöser Fehler, wenn eine Webanwendung Links nicht folgen kann.
Download-Attribut in HTML5 würde das tun, aber keine IE und Safari-Unterstützung. .. –
Office-Anwendungen, sind immer Internet Explorer-Webviews, aber ich werde es versuchen. –
Speichern Dialog ist eine Sicherheitsrichtlinie und ist Browser-spezifisch. –