当前位置: 首页 > 知识库问答 >
问题:

在电子应用程序中访问本地资源

咸玄天
2023-03-14

我目前正在为一个即将到来的项目评估电子。也许我的问题对于使用电子的人来说是微不足道的。然而,我在留档中找不到答案,或者可能没有完全掌握这个概念。

我想有一个网络应用,用户可以通过浏览器访问,如果他们选择或从本机应用,如果他们想使用USB设备(在本例中,是信用卡阅读器)连接到他们的电脑。因此,主。js文件会像这样打开远程web应用程序

  win = new BrowserWindow({width: 800, height: 600})

  // and load the index.html of the app.
  win.loadURL('http://www.example.com/login.html')

能够访问本地资源有什么区别吗(文件、端口等,如果页面是远程的还是本地的?换句话说,您是否仍然可以从由Electron包装的远程托管web应用程序访问USB端口,就像文件是本地的一样,就像安装的本机Electron应用程序一样?我认为它将加载与本地相同的远程页面,但不确定ipc是否仍然工作。

共有1个答案

乜胜泫
2023-03-14

要访问设备上的本机资源,您需要在启用了节点集成的情况下运行electronBrowserWindow。这是默认设置,但将内容从web加载到启用节点的浏览器窗口时,会带来很大的安全隐患。如果您的站点通过XSS被破坏,您的所有客户端PC都将对远程代码执行开放。

因此,您应该使用API构建后端服务,然后在网站上托管前端,并在应用程序中托管分布式版本。您仍然可以从相同的代码构建这两个。

 类似资料:
  • 问题内容: 在最新版本(v0.31.0)中,电子附带了静态链接的FFMpeg库(不是命令行工具,请参见#2588) 我知道很多用于ffmpeg的nodejs模块,但是它们看起来都像是命令行工具的api,那么理想情况下我该如何访问与电子捆绑在一起的ffmpeg库并编码流? 问题答案: 当前这是不可能的,因为没有针对Node.js的不错的库。意思是,只有这样抽象了CLI。但是,可以将其编译和链接为节点

  • 我需要一些关于本地枢轴云铸造VM中本地部署的应用程序的帮助。 最近,我在视窗服务器2012虚拟机中安装了关键的云铸造,并在本地部署了Spring音乐应用程序。现在我想与他人共享此网址,但当我将APP PUSH命令中生成的网址提供给其他人时,他们无法看到该应用程序。您能帮助如何将APP网址共享给其他人,以便他们可以查看该应用程序吗? http://spring-music.local.pcfdev.

  • 2017-05-20 15:23:31+0200:env:{“rack.version”=>[1,3],“rack.errors”=>#>,“rack.multithread”=>true,“rack.multiprocess”=>false,“rack.run_once”=>false,“script_name”=>>“query_string”=>>“http/1.1”,“server_sof

  • 在电子封装的应用程序中,我试图从node_modules依赖项执行服务器文件。从主要过程中,我正在尝试这样的东西: 当从本地命令行启动我的应用程序时,我看到服务器按预期启动,但当打包为asar时,服务器不会按预期启动。实现这一目标的正确方法是什么? 注: 我已经调查了https://electron.atom.io/docs/tutorial/application-packaging/#exec

  • 问题内容: 我们在apache服务器中托管的Web应用程序中使用Java库。库中的ReadConfFile方法返回文件未找到错误。方法如下 是否允许从Web应用程序访问本地文件系统?如果是,那么是否需要设置任何访问权限? 问题答案: 要快速回答您的问题:您可以从Web应用程序访问文件系统,但是必须检查应用程序服务器/ Web容器上如何配置SecurityManager(如果已安装)。 但是,您读取

  • 我遵循了这篇Thymeleaf教程“使用Thymeleaf在Spring生成丰富的HTML电子邮件”,使用Thymeleaf模板生成了一封电子邮件。一切正常,但我无法访问应用程序中其他地方使用的ApplicationContext bean。 更具体地说,在我的电子邮件模板中,我希望有如下内容: 其中“myBean”是一个@组件。这可能吗?我不是在寻找像这样的解决方法 其中bean作为变量添加到模