如何使用javascript检查客户端系统中是否安装了特定软件?

2024-04-04

是否可以使用Javascript检测客户端系统是否安装了特定的Windows应用程序?

我开发了一个网站,该网站必须检测仅由我们开发的应用程序。但我想让你知道,网站名称和 Windows 应用程序名称是不同的。我的意思是考虑我的网络应用程序名称是XWindows 应用程序名称是Y不喜欢一样Skype webapplication and Skype windows application

考虑 Skype,它有 Web 应用程序和 Windows 应用程序。与 Skype 检测 Windows 应用程序安装一样,我也可以使用 Javascript 检测已安装或未安装的软件吗?

我经历过一些堆栈溢出问题

获取系统中已安装的应用程序 https://stackoverflow.com/questions/908850/get-installed-applications-in-a-system

检查应用程序是否已安装 https://stackoverflow.com/questions/211192/check-if-the-application-is-already-installed

以及一些网上文章

https://developers.google.com/web/updates/2017/04/getinstalledlatedapps https://developers.google.com/web/updates/2017/04/getinstalledrelatedapps

https://www.codeproject.com/Questions/392194/How-can-I-check-if-a-program-is-installed-on-clien https://www.codeproject.com/Questions/392194/How-can-I-check-if-a-program-is-installed-on-clien

https://social.msdn.microsoft.com/Forums/ie/en-US/1ae2d1f8-ac4a-4905-8bfd-705218b864e2/check-installed-application-using-javascript?forum=ieextensiondevelopment https://social.msdn.microsoft.com/Forums/ie/en-US/1ae2d1f8-ac4a-4905-8bfd-705218b864e2/check-installed-application-using-javascript?forum=ieextensiondevelopment

和下面的代码一样

navigator.getInstalledRelatedApps().then(relatedApps => {
  for (let app of relatedApps) {
    console.log(app.platform);
    console.log(app.url);
    console.log(app.id);
  }
});

想让你知道,我正在使用角5


Using getInstalledRelatedApps()你可以检查您的 Windows UWP 应用是否已安装 https://web.dev/get-installed-related-apps/#check-windows在用户计算机上。

  1. 更新您的 Windows UWP 应用程序以告知其有关您的网站的信息,这涉及更新Package.appxmanifest file.
<Applications>
  <Application Id="App" ... >
      ...
      <Extensions>
         <uap3:Extension Category="windows.appUriHandler">
          <uap3:AppUriHandler>
            <uap3:Host Name="example.com" />
          </uap3:AppUriHandler>
        </uap3:Extension>
      </Extensions>
  </Application>
</Applications>
  1. 通过添加更新您的网站以告知其有关您的 Windows UWP 应用的信息windows-app-web-link文件到你的/.well-known/您的网络服务器上的目录。
[{
  "packageFamilyName": "MyApp_9jmtgj1pbbz6e",
  "paths": [ "*" ]
}]
  1. 使用 Windows UWP 应用的详细信息更新网站上的 Web 应用清单。
{
  "related_applications": [{
    "platform": "windows",
    "id": "MyApp_9jmtgj1pbbz6e!App",
  }]
}
  1. Call getInstalledRelatedApps()检查您的 UWP 应用是否已安装:
const relatedApps = await navigator.getInstalledRelatedApps();
relatedApps.forEach((app) => {
  console.log(app.id, app.platform, app.url);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用javascript检查客户端系统中是否安装了特定软件? 的相关文章

  • 等待两个异步函数完成,然后在 Node.js 中继续

    我正在 Node js 中开发一个应用程序 其中调用异步函数两次 并将值分配给全局变量 问题是我想使用这两个调用的结果来做其他事情 但是这个其他事情不会等待结果被分配 这是我的代码 var a var b let x abcd foo x
  • 如何使用 Angularjs 检查模块中的指令或控制器是否可用

    在 angularjs 中 给定一个模块 如何检查给定一个模块是否存在指令 控制器 我有一个模块 我想知道是否已加载某些特定指令 下面是一些示例代码 var module angular module myModule check if c
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • 在 HTML5 中堆叠多个画布

    我试图使用相互堆叠的四块画布 但除了顶部画布的内容外 它们的内容不会显示 我按照我希望它们显示的顺序将 z index 值放入其中 但只有最上面的一个显示内容 它们的位置是绝对的 z 索引是 1 2 3 和 4 是否还有其他原因导致它们不显
  • 在 JavaScript 中对数组进行排序

    我正在尝试对内部包含整数的数组进行排序 例如 var array 123 3 745 4 643 5 643 2 我如何对其进行排序才能返回类似以下内容的内容 array 745 4 643 2 643 5 123 3 您可以将自定义比较函
  • 无法获取子 DOM 元素

    注 由于问题有点复杂 为了可读性对代码进行了抽象 We ve a
  • Angular 2 管道状况良好

    Angular 2 是否可以在一定条件下应用管道 我想做这样的事情 variable text variable value SomePipe OtherPipe 如果不是 达到这种效果的首选方法是什么 您需要稍微更改一下语法 variab
  • 在 Graal.js 中使用 java 类

    使用 Graal js 如何将 java 类导入到 JS 脚本中 以下代码适用于 Nashorn JJS 但不适用于 Graal js 因为没有Java type 在graal中 我需要在某个时候调用truffle吗 var ArrayLi
  • Firebase 重定向域已列出,但仍给出 signInWithRedirect 错误

    我有一个 Angular 2 应用程序 它使用 firebase 进行身份验证 我想使用 Google 作为我的身份验证提供商 并进行所有设置以使其正常工作 如果我尝试使用signinWithPopup进行身份验证 如文档中所述 它会起作用
  • 如何在不知道id的情况下从内页获取父iframe元素?

    让我们想象一下我有这样的东西 div div test html 是空页面 自定义hash属性始终具有不同的值 出于安全原因两个页面位于同一域 iframe 元素的数量和顺序是随机的 我的问
  • 点击事件的事件处理程序自动触发 - jQuery [重复]

    这个问题在这里已经有答案了 可能的重复 为什么单击事件处理程序会在页面加载后立即触发 https stackoverflow com questions 7102413 why does click event handler fire i
  • 地理编码服务与 gMap 搜索之间的差异结果

    我想获取此地址的纬度和经度 Boulevard de la Marne Zone industrielle COULOMMIERS 77120 France 我将 api 添加到我的页面 当我使用 gmaps 时 结果很好 但是当我想通过
  • JSON.stringify 对于大型对象来说非常慢

    我在 javascript 中有一个非常大的对象 大约 10MB 当我对其进行字符串化时 需要很长时间 因此我将其发送到后端并将其解析为一个对象 实际上是带有数组的嵌套对象 这也需要很长时间 但这不是我们在这个问题中的问题 问题 我怎样才能
  • Typescript 和 React 使用空类型数组设置初始状态

    假设我有以下片段 interface State alarms Alarm export default class Alarms extends React Component lt State gt state alarms 因为我想设
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 是否可以对 Flexbox 插入、删除和项目位置进行动画处理?

    这个问题最初是在 2012 年提出的 https stackoverflow com questions 11106876 is it possible to animate flexbox inserts removes但是提供的答案并未
  • Windows 中的蓝牙 AVRCP 命令会触发哪些事件

    可以这么说 只是在做一些高级侦察 对于我的潘多拉客户 Elpis http elpis adamhaile net 我支持全局媒体键 键盘上的 MediaPlayPause MediaNext 等 并且我希望能够支持AVRCP http e
  • 何时使用node.js、sinatra、rails? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这 3 种语言 框架的最佳用途是什么 混合所有 或 2 个 有用吗 如果您正在构建一个完整的 Web 应用程序 您可能应该使用 Rails 因为
  • 只允许在输入字段中输入数字

    我想要打开电话号码字段这个网站 http myfrugaltech com dev savoo register 只接受数字或数字 我无权编辑 HTML 代码 那么可以使用 jQuery 通过定位字段 ID 来完成此操作吗 如果可以的话 该
  • 网站可以检测您何时将 Selenium 与 chromedriver 结合使用吗?

    我一直在使用 Chromedriver 测试 Selenium 我注意到有些页面可以检测到您正在使用 Selenium 即使根本没有自动化 即使我只是通过 Selenium 使用 Chrome 手动浏览 Xephyr https en wi

随机推荐

  • 删除一行中重复的相同字符

    我正在尝试创建一种方法 该方法可以从字符串中删除所有重复项 或者根据参数仅在一行中保留相同的 2 个字符 例如 helllllllo gt helo or helllllllo gt hello 这保留了双字母 目前我通过执行以下操作删除重
  • Django 使用 sqlite3 设置?

    我正在尝试按照 django 网站上的演练进行操作 我下载了 sqlite 并将其保存在C Windows System32文件夹 当我编辑settings py文件我该放什么Name场地 我必须建立数据库吗 django 文献说 API
  • 使用 postgres 窗口函数重复行

    postgres 文档 http www postgresql org docs 9 1 static tutorial window html http www postgresql org docs 9 1 static tutoria
  • Argparse:来自文件的默认值

    我有一个 Python 脚本 它需要很多参数 我目前使用的是configuration ini文件 使用读取configparser 但希望允许用户使用命令行覆盖特定参数 如果我只有两个参数 我会使用类似的东西 if not arg1 ar
  • Java 8中basic和url base64编码的区别

    Java 8Base64 http docs oracle com javase 8 docs api java util Base64 html库有两种可用于 URI 构建的变体 基本 变体和 URL 和文件名安全 变体 该文档指出RFC
  • 外部调用的 Lambda 函数超时

    我有一个 Lambda 函数 需要从中进行外部 API 调用 我已将 Lambda 函数添 加到一个安全组 一个 VPC 和 2 个子网 它为我提供了以下文本 当您启用 VPC 时 您的 Lambda 函数将失去默认互联网 使用权 如果您需
  • 如何将字符串转换为 android.net.Uri

    问题 我发现java net URI有一个 create String uri 选项 但是android net uri才不是 进一步来说 我正在尝试获取 RingtoneManager 的输出RingtonePicker并将其设置为默认铃
  • 导入数据和事件溯源

    我目前正在开发一个整体系统 我希望将其引入现代并结合 DDD 和 CQRS 我收到了重新编写解决方案的导入机制的请求 并认为这可能是开始此重新架构过程的好机会 目前流程是 用户上传 CSV 系统解析 CSV 并在屏幕上显示每一行 对每一行以
  • AsyncSupportListenerAdapter primefaces 异常

    我是 jsf 的新人 我正在尝试使用 inf primefaces 做一些示例 当我尝试运行这个示例时 http www primefaces org showcase labs push chat jsf http www primefa
  • Angular 4 HttpClient 查询参数

    我一直在寻找一种将查询参数传递到 API 调用中的方法HttpClientModule s HttpClient并尚未找到解决方案 与旧的Http模块你会写这样的东西 getNamespaceLogs logNamespace Setup
  • 无法读取 null 属性“样式” - Google 登录按钮

    我正在尝试为我的网站实施 Google 登录 登录按钮正确显示 并且最初可以很好地进行登录 当我在使用网站后注销并尝试移至登录页面 我使用的是 React 所以都是一页 时 就会出现问题 我使用完全相同的函数来呈现登录页面 但它给了我一个
  • Furo Sphinx 主题在 API 文档中保留过多的大写字母

    我面临着这个问题中讨论的同样的问题 Furo Sphinx 主题在 API 文档中大写过多 https stackoverflow com questions 69873561 furo sphinx theme uppercases to
  • Angular2 ngOnDestroy,发出事件

    是否可以在 ngOnDestroy 上发出自定义事件 我尝试过 但似乎不起作用 我基本上需要知道指令何时从 UI 中删除 Output rowInit new EventEmitter Output rowDestroy new Event
  • 如何统计group by返回的组数?

    select count as count from table group by foreign id order by count 这将返回每个外部 ID 的多个匹配项 然而 我正在寻找的是总结结果 所以结果是 10 results g
  • 我需要双向创建 automapper createmap 吗?

    这可能是一个愚蠢的问题 n00b 到 AutoMapper 并且时间很短 我想使用 AutoMapper 从 EF4 实体映射到 ViewModel 类 1 如果我打电话 CreateMap
  • 表单位置位于屏幕右下角

    我正在使用 c WinForm 开发 sman 通知应用程序 我想将主窗体放置在屏幕工作区域的右下角 在多个屏幕的情况下 有没有办法找到最右边的屏幕来放置应用程序 或者至少记住上次使用的屏幕并将表单放置在其右下角 我目前没有多个显示器可供检
  • Python/Matplotlib - 快速更新轴上的文本

    我在 wxpython 窗口中有一个 matplotlib 图 画布 我想在鼠标移动时更新绘图上的一些信息 我已连接到 motion notify event 来获取此信息 在下面的代码中 绘制了大量随机数据 然后在窗口的状态栏中显示光标的
  • 如何使用 Consul 中定义的默认值在 Terraform 中定义可选变量

    我有一个 Terraform 脚本 其中包含一些从 Consul 填充的变量 我想在两种不同的场景中使用这个脚本 场景 1 使用 Consul 的默认值一切正常 场景 2 我需要覆盖一些变量 我检查了 Terraform 文档 发现我无法使
  • 在 Golang 中取消引用地图索引

    我目前正在学习 Go 我制作了这个简单粗暴的库存程序只是为了修补结构和方法以了解它们是如何工作的 在驱动程序文件中 我尝试从收银台类型的项目映射中调用方法和项目类型 我的方法有指针接收器来直接使用结构而不是复制 当我运行该程序时 我收到此错
  • 如何使用javascript检查客户端系统中是否安装了特定软件?

    是否可以使用Javascript检测客户端系统是否安装了特定的Windows应用程序 我开发了一个网站 该网站必须检测仅由我们开发的应用程序 但我想让你知道 网站名称和 Windows 应用程序名称是不同的 我的意思是考虑我的网络应用程序名