Javascript 从浏览器(Windows)启动exe
我需要从浏览器(不仅仅是IE)启动已安装的应用程序 从线程中,我了解到我需要实现和 我想检查一下是否有其他的实施方法 在我的场景中,我希望从客户机启动一个现有的应用程序。所以我可以将这个应用程序注册到uri方案并使用它 我唯一关心的是在这两种情况下(或者至少在第二种情况下),我们都必须对注册表进行更改。如果注册表设置不存在,这将不起作用 是否有其他不依赖于注册表设置或任何先决条件的方法Javascript 从浏览器(Windows)启动exe,javascript,c#,windows,browser,activex,Javascript,C#,Windows,Browser,Activex,我需要从浏览器(不仅仅是IE)启动已安装的应用程序 从线程中,我了解到我需要实现和 我想检查一下是否有其他的实施方法 在我的场景中,我希望从客户机启动一个现有的应用程序。所以我可以将这个应用程序注册到uri方案并使用它 我唯一关心的是在这两种情况下(或者至少在第二种情况下),我们都必须对注册表进行更改。如果注册表设置不存在,这将不起作用 是否有其他不依赖于注册表设置或任何先决条件的方法 谢谢。如果没有您描述的类型,就无法在浏览器外调用可执行文件(我可能会在您的位置使用应用程序URI方案,因为它是
谢谢。如果没有您描述的类型,就无法在浏览器外调用可执行文件(我可能会在您的位置使用应用程序URI方案,因为它是您最不需要定制的插件)。这是因为,如果您可以调用任何应用程序,而用户不需要进行注册表编辑或某些相关更改,那么您可以使用您知道将在用户机器上的任何应用程序执行任何您想要的操作。这叫做沙箱,上面有一篇不错的文章 沙箱是一个严格控制的环境,程序可以在其中运行 跑沙盒限制了一段代码的功能,使其与 无需添加其他权限即可获得所需的许多权限 这可能被滥用 例如,您的web浏览器基本上运行您在中访问的网页 沙箱。它们仅限于在浏览器中运行和访问 有限的资源集-他们无法在没有 权限或读取计算机的本地文件。如果你访问的网站 没有被沙箱隔离,与系统的其他部分隔离,访问 恶意网站就像安装病毒一样糟糕 正如他们所指出的,当您在浏览器中时,您已经处于沙箱中。如果您想编写一个可以从其中访问的应用程序,您需要在HTML、JavaScript等的功能和限制范围内工作 你可以在Windows上看到 没有此键,处理程序应用程序将无法启动 你的帖子似乎表明Windows确实是你的目标操作系统。如果您想在另一个操作系统上执行此操作(或者如果其他人阅读此问题),则方法将与您已经找到的不同(这些已经是堆栈溢出问题):
- (或者可能是
或webkitGetUserMedia
,具体取决于浏览器)允许使用网络摄像头和麦克风中的媒体。浏览器在允许此操作之前已经实现了权限提示,但应用程序仍然是一个JavaScript应用程序mozGetUserMedia
- 地理定位API被写入HTML5标准,最简单的实现(JavaScript)如下所示:
navigator.Geolocation.getCurrentPosition(show_map)代码>它仍然只是一个JavaScript库。如果您使用它,会提到添加一些错误处理/回退等。从IE 9开始就可以使用。查看其他浏览器的链接
- 您可以使用
(阅读Mozilla文档中的更多内容),但是,除了内置协议(例如mailto)之外,您还需要在调用此函数的同一域上使用web应用程序处理URI。要设置一个处理程序来处理链接navigator.registerProtocolHandler
中的协议burger,可以编写:
您可以在网站上找到更多信息,包括其他白名单方案,但您需要仔细挑选浏览器以支持并确保您的目标受众可以使用它。我喜欢在任何时候确定浏览器支持时引用李>navigator.registerProtocolHandler(“burger”), "http://www.google.co.uk/?uri=%s", “汉堡商”)
- 我确实找到了一种方法,如果您假定能够让所有客户端计算机在使用链接之前运行一些脚本(具有SUDO权限)。这就是apt:Ubuntu中的链接调用包管理器的方式。由于这又回到了Windows解决方案的“创建一个可以在注册表中编辑MIME类型的安装脚本”领域,我想我可以到此为止