Mam aplikację, która pokazuje niektóre pliki statyczne do pobrania. Ta aplikacja tworzy ukrytą ramkę iframe i ustawia źródło na adres URL pliku.Jak pobrać plik w aplikacji TaskPane bez użycia window.open()?
Przeglądarka wyświetla okno dialogowe Zapisz jako.
Ale w pakiecie Microsoft Office nie ma zapisanego okna dialogowego, a plik nie jest uruchamiany.
Plik jest obsługiwany z Content-Disposition: Attachment
. Działające rozwiązanie po prostu otworzy nową instancję przeglądarki i uruchomi pobieranie pliku. Nie chcę otwierać nowego okna, które zyska ostrość.
<!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>
Myślę, że jest to błąd serius, jeśli aplikacja WWW nie jest widoczna, aby podążać za linkami.
Pobierz atrybut w Html5, zrobiłby to, ale bez wsparcia IE i Safari. .. –
Aplikacje biurowe są zawsze przeglądarkami internetowymi przeglądarki Internet Explorer, ale spróbuję. –
Okno dialogowe zapisywania jest polityką bezpieczeństwa i jest zależne od przeglądarki. –