一个按钮触发多个a标签,只有一个可以下载,其他的window.open()被浏览器拦截...

点击一个标签,触发多个a标签的下载事件,会出现只有一个文件下载,其他都被拦截,




    
    
    
    Document
    


    
    


react中用原生的js去写
这是基于antd的react
 openDown () {
        const triggerDelay = 100;
        const removeDelay = 1000;
        const {createIFrame}= this
        this.state.selectedRows.forEach((item, index)=>{
            createIFrame(item.fileUrl, index * triggerDelay, removeDelay)
        })

    },
    createIFrame (url, triggerDelay, removeDelay) {
        setTimeout(function (){
            // 动态添加iframe,设置src,然后删除
            const frame = document.createElement('iframe') //创建a对象
            frame.setAttribute('style', 'display: none')
            frame.setAttribute('src', url)
            frame.setAttribute('id', 'iframeName')
            document.body.appendChild(frame)
            setTimeout(function(){
                const node =  document.getElementById('iframeName')
                node.parentNode.removeChild(node)
            }, removeDelay)
        }, triggerDelay)
    },

  

  

转载于:https://www.cnblogs.com/summerXll/p/9052681.html

你可能感兴趣的:(一个按钮触发多个a标签,只有一个可以下载,其他的window.open()被浏览器拦截...)