イントラネットのWebシステムの画面から、ファイルサーバ上のファイルを直接開くか、またはそのファイルがあるフォルダーをエクスプローラーで開く方法を可能な限り挙げてください。ブラウザの利用者はファイルサーバへのアクセス権があり、Webサーバはファイルサーバへのアクセス権がない環境を想定してください。
------
【案�@】ローカルHTML or ショートカットファイルを生成して開かせる
------
.urlファイルの例
[InternetShortcut]
URL=\\fileserver01\share\docs\sample.xlsx
------
【案�A】IEモード
------
【案�B】常にフォルダーを開く
------
【案�C】クリップボード
------
navigator.clipboard.writeText("\\\\fileserver01\\share\\docs");
------
としても、Edgeは新しいタブを開かずに元の画面で開こうとして、そこでアクセス拒否が表示されると画面を戻ることもできません。いい対策はありますか?
------
【案�D】中間HTMLを挟む(UX改善)
------
------
【案6】JavaScriptで window.open() を使用(推奨)
------
function openFile(filePath) {
window.open('file:' + filePath, '_blank');
// または
window.open('file:' + filePath, 'fileWindow');
}
ファイルを開く
------
【案7】見えないiframe内で開く(安全策)
------
function openFileInIframe(filePath) {
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);
try {
iframe.src = 'file:' + filePath;
} catch (e) {
console.error('ファイルを開けませんでした', e);
}
// 一定時間後にiframeを削除
setTimeout(() => {
document.body.removeChild(iframe);
}, 3000);
}
------
【案8】ボタン形式の実装
------
------