触发单击AngularJS动态创建的元素
发布时间:2020-12-17 17:38:05 所属栏目:安全 来源:网络整理
导读:我正在使用AngularJS创建一个新标签,以便下载csv文件.我用来触发下载的代码下面.下载从Chrome开始,但不在Firefox中.你知道为什么会这样吗? var element = angular.element('a/');element.attr({ href: exportedString,target: '_self',download: 'test.csv'
我正在使用AngularJS创建一个新标签,以便下载csv文件.我用来触发下载的代码下面.下载从Chrome开始,但不在Firefox中.你知道为什么会这样吗?
var element = angular.element('<a/>'); element.attr({ href: exportedString,target: '_self',download: 'test.csv' })[0].click(); 编辑:Firefox需要一个现有的DOM JS: var linkElem = $("#link"); var element = angular.element(linkElem); HTML: <a ng-hide=true id="link"></a> 编辑2:在Chrome上,下载的文件名是“下载”而不是传递的值(本例中为“test.csv”).有什么建议? 这里还有一个plunker 解决方法
这是
issue #377860报告的Chrome 35中的一个错误.
请按照this的答案了解更多详情 我更新了您的plunker解决方案. 基本上你需要使用它如下: var element = document.createElement('a'); var blob = new Blob([$scope.exportContent],{ type: 'text/csv' }); var url = URL.createObjectURL(blob); element.href = url; element.setAttribute('download','test.csv'); document.body.appendChild(element); //Append the element to work in firefox element.click(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |