问题标签 [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.
windows - How to escape & ampersand in Custom protocol handler in Windows
I made a custom protocol handler following this link. The case is I need to open a link which can only be opened in IE and might contains several query parameters and should be opened in IE from our web app which is running on Chrome (this is really annoying). After many tries and fails, I managed to find the snippet to add entry to the windows registry hive and made .reg
file and run:
It worked but the problem is if a link contains more than 1 query params, all but the first are omitted, I am sure this because of character encoding in windows command line:
I find this solution but it did not work either. How can I properly escape &
character, so that it can be opened on IE with all query parameters. (as before mentioned link is triggered by web app running on Chrome)
EDIT: The code which triggers:
EDIT 2 @muzafako fixed the script, just last line should be replaced like below:
tomcat - Tomcat 8.5.51 - secretRequired="false" 的问题
secretRequired="false"
添加到AJP
连接器的选项是server.xml
。但是,连接器不会以Protocol handler start failed
错误开始。它位于 Apache Server 版本 2.4.25 之后。
错误:
谢谢
windows - 如何从通过自定义 url 协议传递到应用程序(VNC 查看器)的参数末尾删除尾部正斜杠(“/”)?
一点上下文:
我有一个包含 VNC 链接的网站供我们团队使用——这些 VNC URL 的格式如下:
vnc://000.000.0.0:5901
我们团队中的大多数人都使用 Macbook,而 MacOS 默认会处理这些 url 以打开屏幕共享。但是,我们的一名团队成员使用 PC,需要设置自定义 url 协议。
这是我们迄今为止尝试过的
使用注册表编辑器添加了以下内容:
这让我们完成了 99% 的任务——单击 URL 会打开应用程序“VNC Viewer”,并传递 URL。但是,VNC 查看器无法正确打开它,因为出于某种原因,它会尝试打开“vnc://000.000.0.0:5901/”(添加了尾随 / 字符)。
我得到的错误是:
端点无效:未正确指定端口
我需要做什么才能删除/过滤掉尾随的“/”字符?
谢谢!
参考
macos - 无法使用 duti 或 plist 将自定义协议添加到 Mac 上的应用程序
我对 Mac 没有太多经验,因此将不胜感激。
首先尝试在这里问如何将自定义协议映射到Mac上的应用程序?
尝试在包安装程序的安装后脚本中运行duti添加我的自定义协议:
该处理程序出现在 RCDefaultApp 首选项窗格中,但是当从我的其他应用程序调用时,它会在地址栏中使用该协议打开 Safari,询问“您是否要允许此页面打开“MyApp”?单击“允许”时会显示错误:
Safari 无法打开指定地址。Safari 无法打开“myapp://”,因为 macOS 无法识别以“myapp:”开头的 Internet 地址。
同样在尝试从终端打开时:
deploy@mini-mac-mini ~ % open myapp://
对于 URL myapp://,LSOpenURLsWithRole() 失败,出现错误 -10810。
尝试借助应用程序包中的 plist 文件添加协议时出现同样的问题。
windows - 无法通过自定义 url 协议打开本地 pdf 文件
我创建了一个协议处理程序来打开 acrobat reader dc 。因此,只要单击我的 webapp 中的链接,我就会尝试使用本地 pdf 文件启动 acrobat。
mypdf:c:\test\form.pdf 这是我点击的网址
这是给定协议处理程序中的命令:“acrobat.exe”/A“zoom=1000”“%1”
但是说“打开文档时出现错误,文件名或卷标语法不正确。
在注册表中将 %1 替换为 c:\test\form.pdf 时,acrobat 阅读器会毫无问题地打开文件。
windows - 如何在 Windows 10 上实现意图(?)?
我看到 Windows 10 上的一些功能是Android 意图概念的副本。
例如,在打开游戏时,他们通过触发事件来打开 Xbox 程序ms-gamingoverlay
。该流程有一个 Windows 本机 UI 来选择要使用的应用程序,或者在专有应用程序商店中搜索一个。
在 Windows 开发文献中到底叫什么?
javascript - 有没有办法在 JS 中获取所有已注册的协议处理程序?
所以我正在尝试制作一个基本上用作 URL 缩短器的 Web 应用程序,我可以在其中使用自定义协议navigator.registerProtocolHandler
(我知道由于各种原因这不是一个好主意,但我只是想尝试一下用它)。例如,web+yt:
将我重定向到 YouTube,并将web+yt:htb
我重定向到 HowToBasic 的频道。到目前为止这是可行的,但问题是是否有办法查询哪些协议处理程序已注册?还有navigator.unregisterProtocolHandler
注销它们的功能,但我找不到有关列表功能的任何信息。我可以将其存储到 cookie 或localStorage
中,但如果我清除网站数据,我必须猜测哪些已注册,这不是一个很好的解决方案。大家知道有什么解决办法吗?谢谢
java - 如何在 WildFly 中配置协议处理程序
我们通过 JBoss 6.1 中的系统属性“java.protocol.handler.pkgs”注册了一些协议处理程序。处理程序扩展了“sun.net.www.protocol.https.Handler”。但是,当我们将它迁移到 WildFly 时,URL 找不到我们的处理程序类。
有什么办法可以处理吗?我可以使用相同的处理程序 (sun.net.www.protocol.https.Handler) 还是有任何替代方案?
javascript - 在没有弹出窗口的情况下在 Chrome 中使用 javascript 启动自定义协议处理程序?
我正在尝试通过 Javascript 在 Chrome 中启动自定义协议处理程序。我可以让应用程序启动,但这样做会创建一个弹出窗口,然后触发弹出窗口阻止程序。无论如何在没有弹出窗口的情况下启动应用程序?窗口关闭,但仍被视为弹出窗口。
这是我当前的代码: