如何通过网络浏览器检查应用程序是否已安装?

2023-12-01

这是针对 Windows 的。

我有一个要转换为 AIR 的 Flash 应用程序。我使用 NSIS 构建了一个强制安装程序,它运行良好。不过,我希望在网站上有一个图标,用于检查应用程序是否已安装并询问用户是否希望运行它。如果未安装,他们可以选择下载它。

我相当确定这是可行的,因为 Zoom 和 GoToMeeting 都这样做。

当我寻找这个时,我的搜索技巧似乎让我失败了。

Edit:

看来最好/唯一的方法是为应用程序创建自定义协议。像 DoDaApp:// 之类的东西。

这就提出了下一组问题;

  1. 如何创建一个 NSIS 文件来在客户端计算机上创建适当的注册表项?作为用户,而不是管理员。
  2. 如何检查计算机上当前是否安装了该协议?

这是部分答案,因为它在 Edge 中不起作用。下面我来解释一下这个问题。

正如推荐的如何检测浏览器的协议处理程序您可以使用超时和模糊事件处理程序。这是我对代码的解释;

function checkCustomProtocol(inProtocol,inInstalLink,inTimeOut)
{
    var timeout = inTimeOut;
    window.addEventListener('blur',function(e)
        {
            window.clearTimeout(timeout);
        }
    )
    timeout = window.setTimeout(function() 
            {
              console.log('timeout');
              window.location = inInstalLink;
            }, inTimeOut
        );

    window.location = inProtocol;
}

Microsoft Edge 非常有用,它会弹出一个对话框,告诉您“您需要一个新的应用程序来打开它”,这会“模糊”屏幕,不允许下载文件。

因此,我将发布另一个关于如何使其在 Edge 中工作的问题。我已审查过伊斯梅尔哈比卜的代码但已知问题部分表示它也不适用于 Edge。

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

如何通过网络浏览器检查应用程序是否已安装? 的相关文章

随机推荐

  • 包含 QML 中的对象的 QAbstractListModel 有哪些缺点?

    Qt 提供了将 C 模型与 QML 相结合的可能性并在文档中建议了三种方法 QStringList QObjectList QAbstractItemModel 前两者使用起来非常简单 例如QObjectList in C QList
  • 获取每天创建的条目数

    假设我有一个这样的搜索查询 SELECT COUNT id date created at FROM entries WHERE date created at gt date current date interval 1 week GR
  • 使用 WebView android 读取 Gif 图像

    当我尝试使用 Android 2 3 3 API 10 中的 WebView 读取 gif 图像时 它不是动画的 它显示为静态的 我该如何解决这个问题 有什么我必须更改的设置吗 Activity Main xml
  • Python 中的命名反向引用 (?P=name) 问题

    我在学习 re Python 的一部分 以及命名模式 P name 使我困惑 当我使用re sub 为了对数字和字符进行一些交换 模式 P name 不起作用 但模式 N and g
  • 有条件终止 SAS

    如果满足特定条件 我试图停止 SAS 程序的处理 我创建了一个宏变量 如果该变量 gt 0 5 那么我想要硬停止程序 当前程序看起来像 data a1 set Server a2 run macro1 a1 macro2 t1 t1 gen
  • 实体表不是使用 JPA 2.1 创建的

    我在 Netbeans 中使用 JPA 2 1 来创建我的实体 如果我的数据库没有表 那么它应该从实体创建表 当我部署并运行企业应用程序时 userEntity 表不会出现在我的 mySQL 数据库中 这里有什么帮助吗 下面是我的代码 持久
  • 关于等待超时错误的自定义消息

    我有时会使用 预期条件 功能量角器 1 7 中引入 Use case var EC protractor ExpectedConditions browser wait EC visibilityOf header displayName
  • Excel 2010 64 位无法创建 .net 对象

    我有一个在 Excel 中使用的简单类库 这是我的课程的简化 using System using System Runtime InteropServices namespace SimpleLibrary ComVisible true
  • 有什么方法可以暂停 firestore 侦听器而不删除它?

    有什么方法可以暂停 firestore 侦听器而不删除它 我有多个 Firebase 侦听器 其中一些侦听器依赖于其他侦听器 这些侦听器会在数据更改时更改或启动其他侦听器 假设我的第一个监听器启动了第二个监听器onSnapshot 第一个听
  • 重载指向两个不同类的指针的赋值运算符

    我的问题 我正在尝试重载指向两个不同类的指针的赋值运算符 这是一个例子 dc h ifndef DC H define DC H include ic h class dc double d char c public dc d 0 c 0
  • 一段时间后 AKFFTTap 停止生成数据

    我将 AudioKit 用于录音机应用程序 并向 AKMicrophone 添加了 AKFFTTap 以绘制自定义音频波形 这一切都运行良好 但是经过几次录音后 或者在应用程序录音屏幕打开一段时间后 FFT 数据突然变成全 0 我知道麦克风
  • 如何对出现在硬盘上的目录进行排序?

    在我的硬盘上 例如 目录1 目录2 目录3 目录4 我的代码是 DirectoryInfo dInfo new DirectoryInfo AutomaticsubDirectoryName DirectoryInfo subdirs dI
  • 如何在 Android Studio 中重新包含排除的目录?

    解释了如何在 Android Studio 中排除目录here 它还有一个关于不知道如何再次将其包含回来的警告 现在我需要这样做 当然 我可以再次创建 导入项目 但我想有更好的方法可以做到这一点 有没有 如何 由于没有 将目录标记为在 An
  • Python Selenium使用Windows浏览器上传文件

    我正在使用 selenium 在 Python 中开发一个浏览器自动化项目 我正在尝试将图片上传到页面 我登录 转到该页面 然后单击上传按钮 单击上传按钮后 将打开一个 Windows 文件浏览器 我必须在其中选择文件路径并单击 Windo
  • 如何使用c#以管理员身份运行批处理文件来安装Windows服务

    我创建了一个批处理文件 用于将我的程序安装为 Windows 服务 批处理文件的内容 gt C Project Test InstallUtil exe gt C Project Test ROServerService Server bi
  • 外部主机上的会话变得混乱

    问题听起来像这样 使用会话登录在我的本地主机上工作得很好 但是当完全相同的文件上传到我的主机 hostgator 时 会话不会 或者它们会变得混乱 此外 注销功能在主机上不起作用 我检查过 每个页面都有 session start 在里面
  • 使用 -v 查看调用?

    我的一个 iOS 应用程序遇到严重的链接器问题 请参阅上一篇文章详情 linker command failed with exit code 1 use v to see invocation 一个基本问题是 如何使用 v 查看调用 我可
  • 如何接收来自 Angular Reactive Form 的文件上传?

    我有在 Angular 7 反应式表单中上传文件的模块 我需要反应式表单 因为我需要一起上传文件和其他一些信息 我关注这篇文章 https medium com amcdnl file uploads with angular reacti
  • Scala 整数列表列表

    我是 Scala 新手 有点困惑 给定一个列表列表List List Int 如何调用每个列表的某个元素的特定索引 例如每个列表的第二个元素 Simple val ints List List 1 2 List 3 4 val result
  • 如何通过网络浏览器检查应用程序是否已安装?

    这是针对 Windows 的 我有一个要转换为 AIR 的 Flash 应用程序 我使用 NSIS 构建了一个强制安装程序 它运行良好 不过 我希望在网站上有一个图标 用于检查应用程序是否已安装并询问用户是否希望运行它 如果未安装 他们可以