上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

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

[复制链接]

该用户从未签到

6

主题

1

回帖

84

积分

初级工程师

积分
84
发表于 2024-2-9 23:46:23 | 显示全部楼层 | 阅读模式

大家过年好!!!

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

点我直接下载成品


话不多说,上代码

//新建一个文件系统对象
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[0])) {
    filePath = fileList[0]
} else if(fso.FileExists(fileList[1])){
    filePath = fileList[1]
} 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浏览器,直接打开就是一个独立的浏览器,和其他窗口不互通。
QQ截图20240209233228.png

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


同步更新:北极博客

已有2人评分好评 油猫币 理由
朱焱伟 + 1 + 7 jjnb!
zip11 + 1 + 7 很给力!

查看全部评分 总评分:好评 +2  油猫币 +14 

  • TA的每日心情
    郁闷
    3 小时前
  • 签到天数: 773 天

    [LV.10]以坛为家III

    76

    主题

    519

    回帖

    871

    积分

    专家

    脚本猫首席体验官

    积分
    871

    油中2周年生态建设者新人报道油中3周年挑战者 lv2喜迎中秋

    发表于 2024-2-10 15:52:55 | 显示全部楼层
    ggnb!
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    回帖

    2

    积分

    助理工程师

    积分
    2
    发表于 2024-5-27 12:06:19 | 显示全部楼层
    感谢感谢
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-6-22 20:50
  • 签到天数: 2 天

    [LV.1]初来乍到

    4

    主题

    9

    回帖

    17

    积分

    助理工程师

    积分
    17
    发表于 2024-5-31 09:28:43 | 显示全部楼层
    good
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表