申禅姌 发表于 2024-2-9 23:46:23

使用jscript实现一键多开浏览器

# 大家过年好!!!
#### 使用jscript实现一键无限多开浏览器,实现cookies的完全隔离,并且浏览器书签、插件(不包括数据)可以互通!

[点我直接下载成品](https://www.123pan.com/s/rnBxjv-zLQVh.html)

***

话不多说,上代码

```
//新建一个文件系统对象
var fso = new ActiveXObject("Scripting.FileSystemObject");
// edge浏览器可能存在的位置
var fileList = ["C:\\Program Files\\Microsoft\\Edge\\Application\\msedge.exe","C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"];
var filePath = false;
// 判断edge浏览器是否存在
if (fso.FileExists(fileList)) {
    filePath = fileList
} else if(fso.FileExists(fileList)){
    filePath = fileList
} else{
    // 无法找到edge浏览器
    WScript.Echo("Can not find edge path");
}
// 如果浏览器存在
if(filePath!=false){
    // 根据时间生成一个数据存放目录,防止重复
    var currentDate = new Date();
    var year = currentDate.getFullYear();
    var month = currentDate.getMonth() + 1;
    var day = currentDate.getDate();
    var hours = currentDate.getHours();
    var minutes = currentDate.getMinutes();
    var seconds = currentDate.getSeconds();
    var folderName = "edge_"+year+month+day+hours+minutes+seconds;
    // 获取当前脚本运行目录
    var fullPath = WScript.ScriptFullName;
    var currentPath = fso.GetParentFolderName(fullPath);
    var newFolderPath = currentPath + "\\edge_data\\" + folderName;
    // 目录是否存在
    if (!fso.FolderExists(newFolderPath)) {
      fso.CreateFolder(newFolderPath);
    }
    // 创建一个shell对象
    var shell = new ActiveXObject("WScript.Shell");
    // 快捷方式指向的位置
    var targetPath = filePath;
    // 为快捷方式指定启动参数,将浏览器数据存放在刚才生成的目录
    var canshu = " --user-data-dir=\""+newFolderPath+"\"";
    var shortcutName = folderName;
    var shortcutFileName = currentPath + "\\" + shortcutName + ".lnk";
    var shortcut = shell.CreateShortcut(shortcutFileName);
    shortcut.TargetPath = targetPath;
    shortcut.Arguments = canshu;
    shortcut.Save();
    WScript.Echo("OK!");
}

```

此段代码使用jscript编写(不是javascript),主要原理是获取到系统自带的edge浏览器,为其创建一个快捷方式,并且设置启动项,将数据存储目录指定在新创建的文件夹中,从而实现不用重新下载浏览器,即可多开浏览器并且cookies隔离,如果edge浏览器登录了微软账号,在打开新浏览器后会自动同步书签和插件。

***

#### 为什么?
浏览器多开本身就是一个很简单的功能,知道思路了以后就很快能搞明白,但鉴于很多脚本用户有**多开几十个浏览器**的需求,我就想写个脚本实现一键多开,先是想用python,但用户如果想使用就要安装python,或者我打包成exe,那样太臃肿,后来想用易语言,结果我自己电脑就疯狂报毒,然后想用.bat批处理命令,找了chatgpt咨询,发现这玩意我一时半会学不会,后来想起来windows系统自己有个jscript,并且系统自带js编译器,于是试探性的写了一下,发现除了不能显示中文以外其他功能都可以实现,于是便有了这个。

#### 使用方法?
window用户直接解压缩文件后,双击js文件即可,他就会在当前目录下新建一个edge浏览器,直接打开就是一个独立的浏览器,和其他窗口不互通。
!(data/attachment/forum/202402/09/233246skzt8ba5lmz85s6k.png)

如果js文件默认打开不可以,就右击js文件,然后选择 打开方式 - Microsoft ® Windows Based Script Host

***
同步更新:[北极博客](https://blog.bj.cn/?post=3)

潘钜森 发表于 2024-2-10 15:52:55

ggnb!
页: [1]
查看完整版本: 使用jscript实现一键多开浏览器