如何使用nodejs禁用Chrome的会话恢复警告?

2024-02-27

如何通过 NodeJS 在 Windows 中重新启动 Chromium/Google Chrome(信息亭模式),以便它在重新启动时正常启动浏览器,就像普通人使用它一样? (当我每次重新启动 Chromium/Google chrome 时使用 NodeJS 时,都会在右上角显示丑陋/烦人/致命的弹出窗口)

NodeJS:告诉 chrome 关闭

NodeJS:告诉 chrome 现在启动:每次启动时,它都会不断打开右上角那个丑陋的弹出窗口,并且在没有人为参与的情况下无法将其删除

var wait_seconds = null;

function reboot_chrome() {
  // taskkill /f /im chrome.exe
  run_cmd( "taskkill", ["/f", "/im", "chrome.exe"], function(text) { 
    console.log (text);
  });

  //$ cat C:/Python27/run.bat:
  //@echo off
  //@start /b cmd /c "C:\Users\tpt\AppData\Local\Chromium\Application\chrome.exe" --kiosk

  wait_seconds = setTimeout(function() {
    run_cmd("C:\\Python27\\run.bat", [], function(text){
      console.log(text);
    });
  }, 20000);

}

你可以使用--incognito or --disable-session-crashed-bubble --disable-infobars切换,但浏览器的行为不会完全按预期进行。

最干净的方法是改变exit_type在用户配置文件的首选项中。这是一个小例子,就是这样做的:

var fs   = require("fs");
var path = require("path");
var exec = require("child_process").exec;

//----------------------------------------------------
function restartChrome(){
    stopChrome();
    setTimeout(startChrome, 20000);
}

//----------------------------------------------------
function startChrome(){
    // change this path to your application path
    exec('"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome" --kiosk')
}

//----------------------------------------------------
function stopChrome(){
    exec("taskkill /IM chrome.exe /f");
    setExitType();
}

//----------------------------------------------------
function setExitType(callback){
    // change this path to your session preferences path
    var preferencesPath = path.join(process.env["USERPROFILE"], "AppData/Local/Google/Chrome/User Data/Default/Preferences");

    fs.readFile(preferencesPath, "utf8", function(err, data){
        if (err) { return callback && callback(err); }

        var txt = data.replace(/exit_type":"Crashed/g,   'exit_type":"None')
                      .replace(/exited_cleanly":false/g, 'exited_cleanly":true');
        fs.writeFile(preferencesPath, txt, "utf8", callback);
    });
}

restartChrome();

请记住调整注释中标记的应用程序和首选项文件的路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用nodejs禁用Chrome的会话恢复警告? 的相关文章

  • PostgreSql“运行安装后步骤...数据库集群初始化失败”

    我是一名 Windows 用户 我花了几个小时不断地安装和卸载 然后才使其正常工作 前 10 次左右才看到标题中的错误消息 我将其作为一个自我回答的问题放在这里 以防止其他人在安装时可能遇到同样的问题 并为像我这样第一次使用 Postgre
  • 为 npm install 添加本地项目依赖

    在 npm 中添加本地项目依赖项的正确语法是什么package json file 我本地有 git 项目C projects MyApp 我想得到这个项目npm install 我尝试以下 dependencies my app file
  • Node 不断恢复到旧版本

    每次我在控制台中重新启动 vagrant 时 它都会询问我的登录详细信息 然后说Now using node v7 10 0 npm v4 2 0 当我做run nvm install node I get v13 11 0 is alre
  • 如何在Windows 8上正确使用SCardGetStatusChange?

    智能卡服务在 Windows 8 上的行为有所不同 并且 MSDN 尚未更新其文档 任何人都可以提供有关如何正确调用 SCardGetStatusChange 来监视 Windows 8 上的智能卡操作的代码片段吗 提前致谢 这是我为个人博
  • Chrome toDataURI 错误

    直到大约一天前 Canvas2Image JS 库和 toDataURI JS 方法还可以在 Chrome 中使用 http www nihilogic dk labs canvas2image http www nihilogic dk
  • Chrome 调试器注入 javascript

    我有这样的好奇心 是否可以以某种方式在我的页面中注入 javascript 并执行它并调试它 正如您在控制台中所做的那样 但在控制台中您无法暂停并观察变量 是否可以调试我通过控制台输入的代码 为什么无法调试通过 XHR 接收的代码 Than
  • 使用 nw-gyp 构建 node-sqlite3

    我正在尝试为 node webkit 构建 sqlite3 The sqlite3 https www npmjs com package sqlite3 installing页面解释说它需要使用 nw gyp 来完成 据我了解 我应该下载
  • 使用 Socket.io 向多个房间发送消息?

    是否可以使用socket io向多个房间发送消息 发送至 1 个房间 io sockets in room emit id 发送到N个房间 io sockets in room1 room2 roomN emit id 是的 可以同时发送到
  • 从 bash 从新的 Google Chrome 浏览器会话获取“用户代理”字符串

    我想要得到用户代理 HTTP 请求标头 https developer mozilla org en US docs Web HTTP Headers User Agent来自 bash 的新 Google Chrome 浏览器会话 刚刚打
  • 如何通过命令行将Flash .fla编译为.swf? [复制]

    这个问题在这里已经有答案了 如何在基于 Windows 的操作系统上通过命令行将 Flash fla 文件编译为 swf 需要安装的命令行工具就可以了 谁能建议我该怎么做 以直接的方式 谢谢 您可以使用JSFL为 Flash IDE 编写脚
  • 简单 AJAX Get 请求“待处理”

    我正在尝试实现一个简单的 AJAX GET 请求 该请求告诉服务器删除数据库中的文档 虽然我从服务器得到文档已删除的确认 但 Chrome 检查器显示该请求处于 待处理 状态 最终导致服务器错误 我做错了什么 HTML div class
  • 将 gnuplot 嵌入现有 QtWidget 中

    我正在用 C 创建一个 伪 实时绘图应用程序 使用 gnuplot 作为绘图后端 我的要求之一是绘图必须位于现有窗口内 而不是有一个单独的绘图窗口 gnuplot 默认为 Gnuplot 有一个选项可以指定 Qt 小部件 ID 这似乎适合我
  • dyld:惰性符号绑定失败

    当我尝试运行时遇到一个奇怪的错误gatsby develop在新创建的 gatsby 项目中 这不应该与 gatsby js 静态站点生成器 有任何关系 因为我在不同的场合也遇到了相同的错误 当我跑步时gatsby develop在我的一个
  • 在运行时,我如何判断我是否在 WinXP+ 上? win32

    我正在进行一些 win32 字符串 API 调用 并假设字符串以宽字符串形式出现 这在 XP 和更高版本上有效 我该如何断言这一点 这是运行时检查还是编译时检查 我做错了吗 这是一个例子 typedef std basic string
  • 嵌套异步/等待 Nodejs

    似乎无法弄清楚为什么这对我不起作用 我有一个父函数 它对子加载进程执行 AWAIT LOAD 进程又调用另一个名为 LOADDATA 的 AWAIT 所以基本上是这样的 module exports async function try a
  • 一次更新猫鼬中的多个文档

    我有一个用户文档数组 每个用户都有关注者属性 它是一个数字 我只想将此属性增加 1 然后立即更新数据库中的所有这些用户文档 更多细节 在请求中 我有一组用户 id 我使用这些 id 进行查询以获取一组用户文档 const users awa
  • Jenkins 可以检测到任何 svn 用户每次提交代码吗?

    Jenkins 可以检测到任何 svn 用户每次提交代码吗 我想知道每次 Jenkins 提交 svn user 时 有什么方法或 jenkins 插件吗 现在我用svn updateJenkins 中的 cmd 来更新 svn 您可以按照
  • Docker - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306

    我正在尝试使用 Docker 容器启动并运行我的 Nodejs 应用程序 我不知道可能出了什么问题 当我使用控制台调试凭据时 凭据似乎已正确传递 另外启动sequel pro并使用相同的用户名和密码直接连接似乎也可行 当节点在容器中启动时
  • npm install -g expo-cli 失败并显示“EPERM:不允许操作,取消链接 '...\adb.exe'

    我在运行时收到错误 npm install g expo cli 我尝试以管理员身份重新安装节点模块 但出现相同的错误 环境 Windows 10 节点版本 10 15 3 NPM版本 6 9 0 我预计安装会发生 但出现了这样的错误 np
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch

随机推荐

  • C 中的文件结束符 - EOF

    你输入什么来结束程序 1 不起作用 include
  • 在 Google 可视化中单击按钮后绘制图表

    我试图弄清楚如何在单击按钮后绘制图表 我的代码似乎有问题 我使用 Google 可视化和 Javascript 来完成此活动 有人可以看一下吗 CODE
  • 使用 jQuery .attr 或 .prop 设置属性值不起作用

    我创建了一个按钮 其属性名为 loaded 初始值为 no 单击按钮后 我正在运行一些 ajax 并在最后尝试将 已加载 属性设置为 是 以便如果用户多次单击该按钮 ajax 就不会再次运行 我有这样的事情 http jsfiddle ne
  • 滚动条在 WebView 的

    我有包含滚动分区的 Html 文件 当我在 WebView 中添加此 HTML 时 它不会显示该 div 的滚动条 我在 Html 文件中有代码 some Html code table style border 3px solid bla
  • Xcode4 与 Mac OS X 10.4 SDK

    在 Xcode 的最新版本 Xcode 4 0 中 不再包含 10 4 SDK 但是 我仍然需要支持 10 4 和 PowerPC 版本 我已经安装了最新的 Xcode 3 2 6 它仍然包含 10 4 支持 然后我安装了Xcode4 有没
  • 使用 C# 向 USB 连接的 GPRS 调制解调器发送 AT 命令

    任何人都可以给我一个关于如何访问连接到 USB 端口的 GPRS 调制解调器的良好指示或指南 我应该为我的程序制作一个 USB 驱动程序以将 AT 命令发送到调制解调器吗 或者就像一个路由器 我可以使用IP地址访问它 谢谢 如果 Windo
  • JTable 计算正在使用的行数并返回该数字

    我正在做一个小项目 停车场表 它允许您添加 删除和搜索汽车 除此之外 它还意味着返回已经停放的汽车数量 我的问题是 如何编写一个代码来计算已使用的行数并返回正在使用的行数 大概通过按钮或通过标签自动更新 注意 抱歉造成混乱 import j
  • 如何检查命令是否可用或存在?

    我正在 Linux 上用 C 语言开发一个控制台应用程序 现在 它的可选部分 不是必需的 取决于可用的命令 二进制文件 如果我检查system 我越来越sh command not found作为不需要的输出 并将其检测为存在 那么我该如何
  • PasswordDeriveBytes 与 Rfc2898DeriveBytes,已过时但速度更快

    我正在开发基于从 SymmetricAlgorithm 继承的类 例如 TripleDes DES 等 的加密功能 基本上有两个选项可以为我的算法类生成一致的密钥和 IV PasswordDeriveBytes and Rfc2898Der
  • 无法在设备“emulator-5554”上安装 apk:超时

    我是 Android 开发新手 我尝试在此文件夹中运行 LunarLander 项目 根据示例创建新项目 C Program Files Android android sdk windows samples android 9 Lunar
  • 在 Android 10 上以编程方式断开 Wifi

    I use WifiNetworkSuggestion以编程方式将我的应用程序连接到我的热点 但是当我尝试以编程方式断开此连接时 我使用了removeNetworkSuggestions就像文档提到的那样 删除之前的部分或全部网络建议 由应
  • 在 PHP 中管理巨型数组

    我正在为某人对数百万条旧日志条目进行数据挖掘 并且真的想在这件事上使用 PHP 来呈现这些材料 并将它们轻松链接到现有的 PHP 系统 我在终端 OSX 10 8 的 PHP 5 4 4 中运行此代码 Settings ini set er
  • 如何在 R 中显式调用函数参数的默认值?

    如何告诉 R 使用函数参数的默认值 而无需 i 省略函数调用中的参数以及 ii 不知道默认值是什么 我知道我可以使用默认值mean in rnorm rnorm n 100 by omitting the argument or rnorm
  • 如何将 FormsAuthentication cookie 添加到 HttpClient HttpRequestMessage

    我试图通过调用 FormsAuthentication SetAuthCookie someUser false 来验证内部集成测试之后 我确实需要调用 WebAPI 并且不会收到未经授权的异常 因为我已经应用了授权属性 我正在使用此代码来
  • Ruby Koans:为什么将符号列表转换为字符串

    我指的是 Ruby Koans 中 about symbols rb 中的这个测试https github com edgecase ruby koans blob master src about symbols rb L26 https
  • 如何从 Perl 与 ClearCase 交互?

    我的项目需要使用 Excel 工作表中的 Perl 脚本从 ClearCase 数据中提取一些内容 这些内容是 通过给出两条特定的时间线或两条基线 该基线内关联的所有活动 列标题 活动 所有者 ID 列标题 所有者 特定活动中关联的所有元素
  • 插座之间的管道

    我有一个充当镜像的 C 服务器 输入的内容会输出到不同的套接字 现在 它将套接字读入缓冲区并将其写入另一个套接字 我想提高吞吐量 I ve 读东西 http www kegel com c10k html zerocopy about se
  • 点之间的欧几里得距离

    我在 numpy 中有一个点数组 points rand dim n points 我想 计算某个点与所有其他点之间的所有 l2 范数 欧几里得距离 计算所有成对距离 最好都是 numpy 而没有 for 一个人怎样才能做到呢 如果您愿意使
  • PropertyPlaceholderConfigurer 从 XML 文件读取(Apache Commons 配置)

    是否可以配置 Spring PropertyPlaceholderConfigurer 来读取 properties xml 通过 Apache Commons 配置 我在帮助下找到了解决方案seanizer https stackover
  • 如何使用nodejs禁用Chrome的会话恢复警告?

    如何通过 NodeJS 在 Windows 中重新启动 Chromium Google Chrome 信息亭模式 以便它在重新启动时正常启动浏览器 就像普通人使用它一样 当我每次重新启动 Chromium Google chrome 时使用