这是针对 Windows 的。
我有一个要转换为 AIR 的 Flash 应用程序。我使用 NSIS 构建了一个强制安装程序,它运行良好。不过,我希望在网站上有一个图标,用于检查应用程序是否已安装并询问用户是否希望运行它。如果未安装,他们可以选择下载它。
我相当确定这是可行的,因为 Zoom 和 GoToMeeting 都这样做。
当我寻找这个时,我的搜索技巧似乎让我失败了。
Edit:
看来最好/唯一的方法是为应用程序创建自定义协议。像 DoDaApp:// 之类的东西。
这就提出了下一组问题;
- 如何创建一个 NSIS 文件来在客户端计算机上创建适当的注册表项?作为用户,而不是管理员。
- 如何检查计算机上当前是否安装了该协议?
这是部分答案,因为它在 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(使用前将#替换为@)