使用document.location=file_url.mp3触发从JS下载-不正确
Using document.location=file_url.mp3 to trigger download from JS - incorrect?
我在这里查看一些遗留代码,以及它触发.mp3文件播放的方式如下:
document.location = file_url.mp3;
这反过来会提示用户下载或播放文件(取决于平台)。我只是觉得这是非常不正确的方式,允许用户播放.mp3文件。有人能具体说明为什么这种方法是错误的吗?
试试这个
$('a').click(function(e) {
e.preventDefault(); //stop the browser from following
window.location.href = 'file_url.mp3';
});
<a href="no-script.html">Download</a>
使用preventDefault
您可以创建一个空的隐藏HTMLdiv
<div id="player" style="display:none"></div>
然后添加这个JavaScript
function playMp3(stop) {
var div = document.getElementById('player');
if (stop) {
div.innerHTML = '';
} else {
div.innerHTML = '<audio autoplay><source src="fule_url.mp3" type="audio/mpeg"></audio>';
}
}
现在播放文件
playMp3();
停止播放呼叫
playMp3(1);
相关文章:
- 通过php页面中的js强制下载txt
- 如何使用 Node.js 下载文件(不使用第三方库)
- 使用document.location=file_url.mp3触发从JS下载-不正确
- 僵尸.js - 下载文件支持
- 使用 Node.js 下载多个映像
- 无法使用 Angular.js 下载 pdf 文件
- 不完整/部分图像使用节点js下载
- JS下载添加文本的图像
- 如何通过angular.js下载HTTP:POST请求返回的二进制文件
- 用JS下载BBC RSS源
- 使用Node.JS下载Torrent
- 如何使用Angular JS下载excel
- 使用node . js下载多个Zip文件
- 用js下载一个从php生成的存折
- 从服务器Node.Js下载文件
- D3.js下载图形为SVG图像
- 使用node express js下载文件
- Facebook all.js和Google googleapis. client_plusone .js下载两次
- 我如何创建和写入一个新文件(csv),并让浏览器用javascript或D3.js下载它
- 使用Express.js从Angular.js下载一个文件