3

我有一个带有自定义 URL 协议链接的页面。自定义 URL 协议在用户安装 exe 时在用户系统上注册。当用户单击网页上的自定义 url 协议链接时,它会启动该 exe(目前都运行良好)。但是,当他们单击该链接并且尚未在本地安装 exe 时,他们会在浏览器中看到标准错误页面。因此,如果他们没有本地 exe,我希望浏览器显示自定义错误页面,而不是告诉他们需要下载 exe。我认为它可能就像单击链接时侦听该错误的 javascript 一样简单,如果存在错误,则显示自定义错误页面。但我不知道该怎么做。出现错误页面是“无法显示网页。最可能的原因是:

4

2 回答 2

3

我建议制作一个测试功能来确定协议是否已安装:

  1. 使用您的协议从您的页面向测试页面发出 AJAX 调用。
  2. 如果此操作成功且没有错误,则页面的其余部分可以安全地使用此协议。
  3. 如果 AJAX 调用失败,那么您将知道该协议尚未安装。

Jquery 将使这种方法变得轻而易举。您甚至可以根据测试功能的成功/失败动态更改链接的 URL。可以制作链接以发出用户需要安装协议处理程序的弹出警告。

于 2012-11-26T17:53:32.793 回答
0

404 是一个 HTTP 状态代码,所以我认为您在调用自定义协议时不能期望它。您可能会尝试连接,window.onerror但如果这有效,我会感到惊讶。

我在类似情况下所做的是在安装中包含一个浏览器插件。然后,您可以在用户尝试调用它之前从脚本中检查处理程序是否已安装。此外,您可以让插件报告已安装的版本,以便提示用户升级。不利的一面是,如果您不想限制支持的浏览器,则需要处理多个插件模型和架构。

于 2013-10-16T23:01:05.677 回答