Pho*_*nix 4 javascript jquery html5 dom download
我正在使用jQuery/Javascript创建一个锚元素.我正在使用这种方法:
var a = document.createElement('a');
a.href = '/files/target.pdf';
a.download = true;
Run Code Online (Sandbox Code Playgroud)
但是如何在不添加/预先添加到DOM的情况下对其执行click事件?我的意图非常简单.我想让用户下载一个文件,而不是在浏览器中打开它,这就是我想要避免这个功能的原因.window.location = '/files/target.pdf';
请帮我.
谢谢.
好吧,你可以像这样触发"点击":
var anchor = document.createElement('a');
anchor.href = 'http://gutfullofbeer.net/mozilla.pdf';
anchor.download = true;
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
anchor.dispatchEvent(evt);
Run Code Online (Sandbox Code Playgroud)
但是,当我在Firefox中执行此操作时,我会获得一个PDF文件,该文件显示在Firefox的内置PDF查看器中.(Chrome似乎做了"正确"的事情,即显示"保存..."对话框.)