问题标签 [protocol-handler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
browser - 与本地安全应用程序的网页通信
我有一个需要将信息传递给本地(签名)应用程序的网页(在 https:// 下运行)。
我需要它能够在 Windows 和 mac 上的 Chrome、IE、Firefox 和 Opera 下运行。
在传递信息之前,应用程序无法连接到 Web 服务器,并且信息太大而无法容纳协议调用。例如 myprotocol:bunchOfDataPassedToApplicationAsAParameter 对于某些浏览器来说太长了。此外,由于信息包含连接信息,因此需要对其进行加密。
除了确认应用程序的启动之外,这需要在没有用户交互的情况下工作。
签名的应用程序没有证书,因为它需要为每个最终用户的计算机生成。这意味着使用 websocket 将不起作用,因为我们无法打开安全通道,并且打开不安全的通道会导致用户的安全性改变。
信息不能写入磁盘,因为这是不允许的。
什么可以用来传达信息?
(注意这是我另一个问题的简化)
batch-file - 从 cmd 中的路径中删除协议处理程序
我有一个用于我们的 CRM 的协议处理程序,例如:“auftragmcc:123456?sven”
因此,如果您点击链接,它会打开我们的发票软件,其中包含当前发票 (123456) 和正确的用户 (sven)。由于我们更改了发票代码中的某些内容,我们仍然可以打开它,但它不会转到正确的发票。
在注册表中,id 指向我们服务器上的路径,这在每个设备上都是相似的,并且有一个批处理将使用正确的启动参数执行发票软件。
批处理如下所示:
但是现在,在 %1 中是带有处理程序的完整路径,而不仅仅是“123456?sven”部分。我怎样才能从这个变量中删除“auftragmcc:”并只使用它的其余部分?
firefox - 如何从 Firefox 中的外部协议处理程序返回 HTML?
我有一个外部协议处理程序设置about:config
为network.protocol-handler.app.myproto=/myapp.exe
.
我想myapp.exe
将 HTML 返回给 Firefox,它应该像网页一样展示。
可能吗?
windows - 用于启动 IE 的自定义协议处理程序 - 结果不一致
我在使自定义协议处理程序启动 IE 行为正确时遇到问题。
这是我想要做的:我有我的网页,用户需要在 chrome 中访问。该页面包含一些外部 Web 应用程序的链接。这些外部 Web 应用程序仅在 Internet Explorer 上运行良好。单击链接时,我必须以某种方式使用外部网络应用程序的 URL 启动 IE。
客户不愿意使用 IETab 之类的插件来启动这些外部应用程序。
因此,我尝试定义一个自定义协议处理程序,它将目标 URL 作为参数并使用目标 URL 启动 Internet Explorer 浏览器。
只要没有 IE 窗口已经打开,它似乎就可以正常工作。但是当已经有一个 IE 实例正在运行时,行为会有所不同。
我使用了以下代码:
在 HTML 文件中:
通过将以下内容添加到 Windows 注册表中,我已将处理程序注册到自定义协议“launchIE”:
通过上述设置,当我单击按钮触发上述 javascript 时,我启动了 Internet Explorer。如果没有 Internet Explorer 的实例已经打开 ,IE 会正确打开 URL http://external.url.com?param1=1¶m2=2 。显示正确 URL 的 IE 屏幕截图
但是,如果已经打开了一个 IE 实例(无论是由用户手动打开,还是由于事先单击了我页面上的按钮),IE 会打开一个不正确的 URL http://%22http//external.url.com? param1=1¶m2=2 " IE 显示错误 URL 截图
请帮助...我应该如何解决这个问题?
我正在使用 Windows 10 和 IE 11。
office-addins - 打开任务窗格插件后,Office 协议处理程序失败
来自较新办公版本的协议处理程序和任务窗格插件会出现一些非常奇怪的行为。
我已经进行了广泛的测试,发现如果我有一个协议 url,例如“ms-excel:nft|u| https://office.iwriter365.com/api/getFile/test.xltx ”,这个协议工作得很好,直到当我使用任务窗格 URL“ https://office.iwriter365.com ”启动任务窗格时。每次启动协议 url 时,此 Excel 都会显示错误“Microsoft Excel 无法访问文件....”。
使协议 url 再次起作用的唯一方法是关闭所有 Excel 实例。
这已经开始在 Office 版本 1802 或 1803 附近发生。
github - 在github上打开时如何更改Visual Studio的版本
我有 VS2015 和 VS2017。当我在 GitHub 上选择“在 Visual Studio 中打开”时,我想将其更改为使用 VS2017 而不是 VS2015。
我怎样才能做到这一点?
windows - Windows,设置自定义协议处理程序名称
我试图在不接触可执行文件的情况下为我的协议处理程序设置一个名称,让我解释一下,当我按照这个答案注册一个协议处理程序 并尝试从浏览器打开它时,我会得到一个像这样的弹出窗口:
现在 chrome 和其他浏览器从可执行文件属性中获取协议名称:
我的问题是:有一个 Windows 注册表项可以让我指定协议名称,而无需触及可执行文件?
java - Tomcat 9 SSL/TLS - 无法初始化组件错误
我有 Tomcat 9.0.12 和 Java JDK/JRE 1.8.0_191。我正在尝试配置 SSL/TLS。我已经像这样更改了我的 server.xml 文件:
我的证书文件是 *.pfx 格式。我通过命令行使用 startup.bat 命令运行 tomcat 服务器。但是我收到了这样的错误(在我的 catalina.log 中):
当我尝试连接http://localhost:443时,我得到了 ERR_CONNECTION_REFUSED,我在下面添加了它。
ERR_CONNECTION_REFUSED:
google-chrome - 如何修复多个协议处理程序调用的执行?
我现在在一个 Angular 应用程序上工作,它试图在短时间内连续调用多个 URL 协议处理程序调用。(出于测试目的,我们有 10 个调用,彼此之间有 0.5 秒的延迟,它们被配置为在我的注册表中打开 notepad.exe)
这在 Firefox 中完全可以正常工作,并且所有 10 个请求的记事本实例都在我的本地计算机上打开,但是当与 google chrome 一起使用时,只有一个实例被打开,其余 9 个调用根本不处理。
有人知道这个问题的解决方案吗?它是设计使然,如果是,有没有办法停用它?
google-chrome - 更改行为 0.76 -> 0.77 // 始终在关联的应用程序中打开这些类型的链接
我们在 Windows 中实现了自己的协议处理程序“navision”。在 Chrome V0.76 之前,我们可以打开链接,点击“始终在关联的应用程序中打开这些类型的链接”,一切都很好。从 Chrome V0.77 开始,这个复选框就消失了!(在 0.78-beta 和 0.79-dev 中行为相同)
任何想法,如何恢复旧的行为?
谢谢!弗洛里安