首页 > 解决方案 > 功能 onclick javascript 在 Microsoft Edge 中不起作用

问题描述

我已经完成了在我们的网站上下载 pdf 的 onclick 功能。除了这个 ajax 消息(主线程上的同步 XMLHttpRequest 已被弃用,因为它对最终用户的体验产生不利影响,它在 Chrome 和 Mozilla 中一切正常。)但是当我在 Microsoft Edge 中单击那里时,它不起作用。谁能帮我?我的代码如下。

<script>

function download_datasheet(uri, name) {



var modal = document.getElementById('myModal');  
            var span = document.getElementsByClassName("close")[0];  
            var nome;  

            nome = name + ".pdf";  
            modal = document.getElementById('myModal');  
            modal_content = document.getElementsByClassName("modal_texto")[0];  
            lang = window.location.href;  
            lang = lang.split("/");  
            console.log(lang[1]);  
            if(lang[1].includes("pt-pt"))  
            modal_content.innerHTML =  "<table border=\"0\"><tr><td style=\"width:80px; background-color:white\"><img src=\"/sites/default/files/Imagens_tecit/Tecit/wait2.gif\" alt=\"wait\"></td><td style=\"background-color:white; color:#5cb8e5; font-size:20px;\"><p class=\"descricao\">Loading...</p></td></tr></table>"  
            else modal_content.innerHTML = "<table border=\"0\"><tr><td style=\"width:80px; background-color:white\"><img src=\"/sites/default/files/Imagens_tecit/Tecit/wait2.gif\" alt=\"wait\"></td><td style=\"background-color:white; color:#5cb8e5; font-size:20px;\"><p class=\"descricao\">Loading...</p></td></tr></table>"
            modal.style.display = "block";  

            var HttpClient = function() {  
                this.get = function(aUrl, aCallback) {  
                    var anHttpRequest = new XMLHttpRequest();    
                    anHttpRequest.onreadystatechange = function() { 
                        if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)  
                            aCallback(anHttpRequest);  
                    }  
                    console.log(aUrl);  
                    anHttpRequest.open( "GET", aUrl, true );          
                    XMLHttpRequest.withCredentials = false;  
                    anHttpRequest.send( null );  
                    anHttpRequest.responseType = "blob";  
                }
            }  

            var client = new HttpClient();  
            function eei_terminado(ficheiro){  
                var blob = new Blob([ficheiro.response]);  
                var a = document.createElement("a");  
                a.style = "display: none";  
                document.body.appendChild(a);  
                var url = window.URL.createObjectURL(blob);  
                a.href = url;  
                a.download = nome;  
                a.click();  
                window.URL.revokeObjectURL(url);  
                modal.style.display = "none";  
            }  
            client.get(uri, function(response) {  
                eei_terminado(response);  
            });


        }

</script>

谢谢!

标签: javascriptajax

解决方案


推荐阅读