不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒

Posted ITseahorseL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒相关的知识,希望对你有一定的参考价值。

本人实习中,一个部长突然发了一个文件,让三个人包括我点击文件中的1236个网址来清除redis的缓存,我们三个人就这样每个人点击了四百多个网址,一直在哪里点击鼠标+alt+tab手都快点抽筋了,于是点完后我在想写个js来实现自动跳转吧,于是就有了一下的js代码,如果有相类似需求的小伙伴可以借鉴啦~

<!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>不同网址自动跳转</title>
    <style rel="stylesheet" type="text/css">
        * 
            margin: 0 auto;
            padding: 0;
        
    </style>
</head>

<body>
    <input type="file" name="file" id="file">

    <script>
        let file = document.getElementById("file");
        //创建b变量作为时间间隔
        const b = 5000;
        file.onchange = function () 
            //input点击事件
            var resultFile = document.getElementById("file").files[0];
            var reader = new FileReader();
            reader.readAsText(resultFile, 'UTF-8');
            reader.onload = function (e) 
                //读取文件事件
                //data为读取文件的内容
                let data = this.result;
                //创建数组接收内容分割的每一个网址
                let splitdata = new Array();
                //去除内容data里面的转行符,用空格代替
                data = data.replace(/\\n|\\r/g, " ");
                //用空格作分割符来分割内容data
                splitdata = data.split(" ");
                //将数组里面为空的字符串去除
                splitdata = splitdata.filter(Boolean);
                //得到数组的长度
                let length = splitdata.length;
                //创建times时间间隔变量来控制定时器的调用
                let times = 5000;
                //for循环为传入时间间隔、不同的网址地址、数组长度来调用定时器
                for (let i = 0; i < length; i++) 
                    go(times, splitdata[i], length)
                    //间隔不断增加
                    times += b;
                
            
        
        //两者之间可以解决同步与异步的问题
        function go(times, url, length) 
            //跳转页面定时器函数
            let timer = setTimeout(function () 
                //根据网址打开新的页面
                window.open(url);
                //console.log("times",times);
                //console.log("url",url);
                //当时间间隔最终值等于调用测试次数与时间间隔值相等时,关闭定时器
                if (times == length * b) 
                    clearTimeout(timer);
                
            , times);
        
    </script>
</body>

</html>

步骤:

  1. 打开页面,导入txt文件,如下

  2. 然后就可以等待所有页面间隔在新页面打开啦,完成其需求。

  3. 效果

以上是关于不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒的主要内容,如果未能解决你的问题,请参考以下文章

不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒

js 跳转新页面

跳转新页面并传值的方法

360浏览器打开页面不跳转到新页面

Layui table中显示图片,存session的方式跳转新iframe,进行添加,编辑和删除

Vue路由的页面跳转打开新页面