브라우저에서 그림을 다운로드하고 보기를 원하지 않습니다

2515 단어
오늘 브라우저에서 그림을 다운로드해야 하는 수요가 하나 있는데, 매번 4다 열었어.앞부분에 가르침을 청해서, 그녀는 코드를 하나 썼다.
    //       
    function myBrowser(){
        var userAgent = navigator.userAgent; //      userAgent   
        var isOpera = userAgent.indexOf("Opera") > -1;
        if (isOpera) {
            return "Opera"
        }; //    Opera   
        if (userAgent.indexOf("Firefox") > -1) {
            return "FF";
        } //    Firefox   
        if (userAgent.indexOf("Chrome") > -1){
            return "Chrome";
        }
        if (userAgent.indexOf("Safari") > -1) {
            return "Safari";
        } //    Safari   
        if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
            return "IE";
        }; //    IE   
        if (userAgent.indexOf("Trident") > -1) {
            return "Edge";
        } //    Edge   
    }
    
    //IE         
    function SaveAs5(imgURL)
    {
        var oPop = window.open(imgURL,"","width=1, height=1, top=5000, left=5000");
        for(; oPop.document.readyState != "complete"; )
        {
            if (oPop.document.readyState == "complete")break;
        }
        oPop.document.execCommand("SaveAs");
        oPop.close();
    }
    
    //  ,360        
    function download(src) {
        var $a = document.createElement('a');
        $a.setAttribute("href", src);
        $a.setAttribute("download", "");
    
        var evObj = document.createEvent('MouseEvents');
        evObj.initMouseEvent( 'click', true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
        $a.dispatchEvent(evObj);
    };
    
    //        
    function firefoxSave(src) {
        var imgtype = src.substring(src.lastIndexOf("/")+1,src.length);
        var id = new Date().getTime();
        var a = '';
        $('body').append($(a));
        document.getElementById(id).click();
    };
    
    function oDownLoad(url) {
        if (myBrowser()==="IE"||myBrowser()==="Edge"){
            SaveAs5(url);
        }else if(myBrowser()==="FF"){
            firefoxSave(url);
        }else{
            download(url);
        }
    }

그리고 마지막 oDownLoad 방법을 사용하면 모든 브라우저가 다운로드되는 상황을 실현할 수 있다.

좋은 웹페이지 즐겨찾기