如何在运行角度应用程序时运行命令promt命令?

问题描述 投票:0回答:1

我想在用户点击URL时运行2个cmd命令。

taskkill /IM chrome.exe /F
start chrome.exe --kiosk -tab "www.url.com"

这些是2个命令。可以使用打字稿或Angular中的任何其他工具来这样做吗?

angular typescript google-chrome kiosk kiosk-mode
1个回答
0
投票

首先,您正在做的是weird,这足以表明这可能是一个坏主意,并且几乎肯定有更好的方法。

但是,无论如何,您都在错误的层面上思考:Typescript是一种语言,Angular是一个框架;两者都没有提供与命令行交互的任何概念-它们旨在在Web浏览器中运行(当然,您不希望访问的随机网站能够杀死Web浏览器)。有一些框架可在非浏览器上下文(例如Node.js)中运行Javascript(因此还有Typescript),但这听起来不适合您的问题。

这意味着您需要找出一些位置来部署特权代码外部 Web浏览器:

  • 如果设计为作为信息亭运行,则可以构建一个桌面应用程序,在其中托管Chromium或其他网络浏览器(例如,使用CEF),而不是在常规的网络浏览器中运行,从而可以调用桌面代码来自Javascript(因此来自Typescript或Angular)。但是,此解决方案可能无法解决您要尝试做的事情,因为它可以代替在信息亭模式下运行Chrome的需求。
  • 您可以创建一个独立的桌面应用程序,该应用程序可以运行所需的任何内容,还可以注册自定义协议处理程序(例如my-app://),然后您可以从Chrome调用它(请注意,默认情况下,Chrome在运行代码之前会显示安全提示如果您这样做,但是如果您控制目标设备,并且希望您能做到这一点,那么可以通过以下方法来禁用已注册协议的提示)。
  • 您可以构建一个桌面应用程序,该应用程序在后台运行Web服务器,并且(考虑到跨站点限制)从该已知URL发出请求。然后,您的服务器应用可以解释该请求以运行任意代码(例如退出该应用)。这是方法Zoom was recently chastised for implementing

[请注意,在大多数情况下,不受信任的站点也可以类似地调用此代码,因此在设计时请记住这一点。

© www.soinside.com 2019 - 2024. All rights reserved.