首先运行JQuery,然后在链接点击时下载文件

时间:2017-03-21 15:25:15

标签: javascript jquery

我有一个链接,其中包含直接文件下载URL。因此,当用户单击该链接时,该文件将下载。

这是链接:

import React, { Component } from 'react';
import mui, {SvgIcon} from 'material-ui';

export default class LoadBalancerIcon extends Component {
    constructor() {
        super();
    }
    render() {
        return (
            <SvgIcon {...this.props} >
                <circle cx="50" cy="48.75" r="30.43" fill="#f58536"/>
                <path fill="#fff" d="M24.42 39.87h11.05v17.76H24.42zM59.73 27.74h9.86v9.86h-9.86zM59.73 43.82h9.86v9.86h-9.86zM59.73 59.91h9.86v9.86h-9.86z"/>
                <path fill="#fff" d="M57.01 50.05l1.64-.81 1.08-.53-1.08-.54-1.46-.72-4.4-2.17v2.17H39.58l15.01-9.61 1.19 1.84 2.49-4.2.73-1.24.73-1.22-1.4.17-1.59.18-4.7.55 1.13 1.74-18.41 11.79-2.03 1.3 2.42 1.54 18.02 11.55-1.13 1.74 4.7.55 1.59.18 1.4.17-.73-1.22-.73-1.24-2.49-4.2-1.19 1.84-15.01-9.61h13.21v2.09l4.22-2.09" />
            </SvgIcon>
        );
    }
}

LoadBalancerIcon.displayName = 'LoadBalancerIcon';
LoadBalancerIcon.muiName = 'LoadBalancerIcon';

我希望在此文件下载之前运行一些JQuery。我能够使用解决方案,但不是直接下载,而是重定向到视频。我想要的是在没有任何重定向的情况下下载。这就是我试过的:

<a class="download-video" href="http://mylink.mp4?file=1&name=A Video"> Download</a>

由于

1 个答案:

答案 0 :(得分:2)

您可以将download attribute添加到锚标记,然后不要使用preventDefault();

&#13;
&#13;
$('a.download-video').click(function(event) {

    var href = this.href;
    //My JS Code
    alert(href);

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="download-video" href="https://www.w3schools.com/html/mov_bbb.mp4?file=1&name=A Video" download> Download</a>
&#13;
&#13;
&#13;

这里是link for browser compatibility