【问题标题】:Opening Custom Protocol in FireFox Browser..!在 FireFox 浏览器中打开自定义协议..!
【发布时间】:2016-03-06 17:58:55
【问题描述】:

我创建了一个自定义协议myapp:,就像mailto: 一样,它使用JavaScript 在客户端打开一个exe。因此,每当我调用那里的 JavaScript 时,都会打开一个对话框,要求选择我想要打开的应用程序。 我只是想设置它在代码中打开的默认应用程序并且不打开该对话框。我知道我可以在 Mozilla 浏览器的设置中手动从总是要求更改为设置默认值,但我希望通过代码进行设置。这样用户就不必做任何事情。 可能吗?如果是,请指导我如何实现这一目标。

【问题讨论】:

  • 如果可能的话,它应该作为一个主要的安全问题尽快修复
  • 是的,你可以。如果我正确理解您的问题,它会调用 navigator.registerProtocolHandler()...
  • 感谢您的回复,实际上我已经注册了协议,并且通过它我也可以打开 exe,但我想禁用始终打开以选择的对话框(通过代码)我们要通过它打开的应用程序。就像在 safari 浏览器中一样,它直接打开而没有任何对话框,与我想要的 Mozila 一样。浏览器...!!

标签: javascript jquery html custom-protocol


【解决方案1】:

您不能从非特权网页设置此类设置,这将是一个巨大的安全问题。

您可以从网页中要求用户将Web 应用程序 注册为自定义协议处理程序,而不是exe。但是,如果该 exe 是您自己编写的,您可能只需将其注册为操作系统中的协议处理程序即可。

【讨论】:

  • 感谢您的回复,实际上我已经注册了协议,并且通过它我也可以打开 exe,但我想禁用始终打开以选择的对话框(通过代码)我们要通过它打开的应用程序。就像在 safari 浏览器中一样,它直接打开而没有任何对话框,与我想要的 Mozila 一样。浏览器...!!
  • 我猜你最好的办法是通过你的程序破坏 Firefox 设置,就像你从可执行文件中注册协议一样。这也是here 完成的,但我不知道与 Firefox 设置交互的最佳实践。
猜你喜欢
  • 1970-01-01
  • 2013-07-06
  • 2011-10-06
  • 2019-09-15
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2017-07-22
  • 1970-01-01
相关资源
最近更新 更多