我有一个网页,它是 .NET ClickOnce 应用程序的预启动页面。它尝试确定用户的浏览器中是否支持 ClickOnce。现在,我们使用以下所有方法进行检查:
- 用户代理 - 这在很多旧情况下都有效
navigator.mimeTypes["application/x-ms-application"]
- 此功能在某些 FF 和 Chrome 情况下有效Request.ServerVariables["HTTP_X_CLICKONCESUPPORT"]
- 这适用于较新的 IE 版本
但是,这些都不适用于 Edge 模式下的 IE 11 或 Windows 10 技术预览版上的 Spartan。在这种配置下,执行此操作的有效方法是什么?有有效的方法吗?
我应该补充一点,ClickOnce 总体上(它是一个 .NET 4.x 应用程序)运行良好。它甚至在 Spartan 中也能运行。我似乎无法为用户确认这一点。
答案1
由于您的检测适用于 IE11。它还适用于 Project Spartan 以外的其他浏览器。
可以假设,由于 Project Spartan 支持 Click Once,因此实际上不需要对 Click Once 检测进行特定的支持。与其尝试检测 Project Spartan 是否支持 Click Once,不如检查用户代理是否指示正在使用 Project Spartan