AngularJS阻止HTML5下载链接开始下载

时间:2017-06-13 17:21:19

标签: angularjs html5

我想创建一个超链接,点击开始下载文件(通常显示在浏览器的左下角)。

我使用带有禁用重写的HTML5模式:

angular.module('mymodule', []).config(['$locationProvider', function($locationProvider) {
        $locationProvider.html5Mode({enabled: true, rewriteLinks: false});
}

这是我与HTML5下载属性的链接:

<ul class="dropdown-menu" id="download-formats">
    <li><a href="/api/v1/rna/{{ rna.upi }}.fasta" download="{{ rna.upi }}.fasta">FASTA</a></li>
</ul>

不知何故,点击此链接根本没有任何效果(我正在使用最新的Chrome)。它应该是那样的吗?

答案:所以问题是这个带有下载链接的标记包含在另一个带有点击事件处理程序检查的元素中,如果没有填充href属性(就像href一样) ,使用angularjs插值内容)。如果它没有填充,则调用preventDefault(),因此我无法运行html5下载操作。我必须在javascript中执行下载的必要实现。

1 个答案:

答案 0 :(得分:1)

使用ng-href代替href

<li><a ng-href="/api/v1/rna/{{ rna.upi }}.fasta" download="{{ rna.upi }}.fasta">FASTA</a></li>