ファイル名とファイル拡張子の提案を制御することはできませんが、ちょっとしたことはできます。
私はこれを実動 Web サイトには使用しませんが、うまくいくようです。
function promptSave(data) {
/*@cc_on @*/
/*@if (@_jscript_version >= 4)
//ie code here
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
doc.write(data);
doc.execCommand('SaveAs', '', 'somefilename.txt');//only certain file extensions allowed
document.body.removeChild(iframe);
@else @*/
// non ie code
window.location = 'data:application/octet-stream;base64,' + window.btoa(data);
/*@end @*/
}
var data = 'var jsFoo = {k:55};';
promptSave(data);
.part
ただし、Firefoxはファイルとして保存することに固執しています。