【问题标题】:Rocket chat: Determine if the app is running in Desktop or browserRocket chat:确定应用程序是在桌面还是浏览器中运行
【发布时间】:2017-03-27 21:52:09
【问题描述】:

有没有办法确定 Rocket.chat 应用是在桌面还是浏览器中运行?

提前谢谢你。 :)

【问题讨论】:

  • 桌面还是浏览器?你在这里是什么意思?如果它在本地以开发模式运行?
  • @Mikkel 是的,它在开发模式下运行,因为我们也有一个桌面应用程序,我们也可以在浏览器中运行该应用程序。只是想确定我们是否可以确定正在使用哪个平台
  • 您可以寻找像 TZ 这样的环境变量,它不会出现在浏览器中。您可能需要进行一些实验,因为您使用的是电子,js 代码可能像浏览器一样被沙盒化
  • 任何例子@Mikkel

标签: meteor coffeescript open-source rocket.chat


【解决方案1】:

您可以使用如下行查看服务器环境变量:

console.log(process.env.TZ);

如果您需要从客户端访问它,您可以在客户端代码中执行此操作:

console.log("TZ = "+Meteor.call("getEnv","TZ"));

在你的流星方法中(在服务器文件夹中)

Meteor.methods({
    getEnv: function(varname) {
        return process.env[varname];
    },

显然要小心使用它。这是一种可能存在安全漏洞的通用方法。如果你想让它更安全,只需编写一个不传递环境变量名称的特定方法,以防止任何类型的恶意攻击。

【讨论】:

    猜你喜欢
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2021-03-13
    • 2012-02-15
    • 1970-01-01
    • 2012-04-11
    • 2010-09-14
    相关资源
    最近更新 更多