У меня есть приложение, которое показывает некоторые статические файлы для загрузки. Это приложение создает скрытый iframe и устанавливает источник в файл-url.Как загрузить файл в приложении TaskPane без использования window.open()?
Браузер показывает диалог сохранения.
Но в Microsoft Office диалоговое окно save-as отсутствует, и filedownload не запускается.
Файл подается с Content-Disposition: Attachment
. Рабочее решение просто откроет новый экземпляр браузера и запускает загрузку файла. Я не хочу открывать новое окно, которое будет фокусироваться.
<!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>
Я думаю, что это ошибка serius, если веб-приложение несовместимо с целями.
Загрузить атрибут в Html5 сделает это, но не поддерживает IE и сафари. .. –
Офисные приложения, которые всегда являются веб-обозревателями Internet Explorer, но я попробую. –
Сохранить диалог является политикой безопасности и имеет специфику браузера. –