ダウンロード用の静的ファイルを表示するアプリケーションがあります。このアプリケーションは非表示の iframe を作成し、ソースを file-url に設定します。
ブラウザに名前を付けて保存ダイアログが表示されます。
しかし、Microsoft Office 内には名前を付けて保存ダイアログがなく、ファイルのダウンロードは開始されません。
ファイルは で提供され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>
Web アプリケーションがリンクをたどることができない場合、それは深刻なバグだと思います。