【问题标题】:How to have browser open a file from a custom protocol?如何让浏览器从自定义协议打开文件?
【发布时间】:2011-10-06 12:18:23
【问题描述】:

我目前有一个如下所示的网址:protocol://folder/file.js

我可以使用类似 file://C:\folder\file.js 的 URL 从本地磁盘打开同一个文件

当应用程序在其自己提供的环境中运行时,此协议可用,它可以从我的本地磁盘加载文件。

当我在常规浏览器(如 firefox 或 chrome)中运行此应用程序时,我还希望能够访问这些文件。

我已经设法在我的 Windows 机器上注册了这个协议,并将 url 转发到一个自定义 c# 程序,然后该程序可以再次在浏览器中打开正确的文件。但是,它会在新选项卡中打开文件,并且在尝试从页面上的标签打开文件时似乎无法正常工作。

有没有一种简单的方法可以让 firefox(或任何其他浏览器)直接在请求它的选项卡中从自定义协议打开文件?

【问题讨论】:

  • 有趣的问题 - 我在电话环境中听说过这样的事情,但从未听说过普通桌面。

标签: c# javascript firefox browser protocols


【解决方案1】:

要在 FireFox 中执行此操作,您必须实现 XPCOM 对象。 C++中有instructions on how to do this。对于 C#,您遵循相同的说明,但使用 GeckoFX 获取 .NET 的包装器。

【讨论】:

  • 一旦完成,确实为了让它工作,F​​irefox 最终用户必须安装一些东西,对吧?
  • @Pointy - 是的。它基本上是一个用户必须安装的插件。
  • 谢谢,这或多或少是我想要的。
猜你喜欢
  • 2016-03-06
  • 1970-01-01
  • 2013-07-06
  • 2019-09-15
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多