Skip to content

如何使用 nodejs 一次下載多個連結

Published: at 上午12:39

以前有遇到一個需求是開發的網站不能連線google 載入字體於是要全部下載下來

有寫了個腳本紀錄一下

chrome 最多一次下載十五個 edge 好像就沒有限制 可能到時候要再試試看

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script type="text/javascript">
        var a = ["https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.0.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.6.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.7.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.8.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.19.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.20.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.21.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.22.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.23.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.24.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.25.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.26.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.27.woff2",
            "https://fonts.gstatic.com/s/notosanstc/v25/-nFlOG829Oofr2wohFbTp9i9WyEKSehbzKSBjgyYqEML3A_ajbajwVJ5kTuPLNzqyAbPohbs.28.woff2"]
        function test() {

            console.log("aaaa")

            console.log("aa", a)

            for (let i = 0; i < a.length; i++) {

                fetch(a[i]).then(res => res.blob().then(blob => {
                    var a = document.createElement('a');
                    var url = window.URL.createObjectURL(blob);
                    var filename = i + ".woff2";  //replace (" ")
                    a.href = url;
                    a.download = filename;
                    a.click();
                    window.URL.revokeObjectURL(url);
                }))
            }



        }


        test();

    </script>
</head>

<body>

</body>

</html>