问题标签 [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.

0 投票
0 回答
102 浏览

windows - Windows 8 协议处理程序限制

在尝试注册自定义协议处理程序(如 mailto 等)时,我发现在 Windows 8 上似乎存在一些关于 URL 方案字符串长度的限制。

官方标准规定 URL 方案必须如下所示:

但在 Windows 8 上,我发现情况如下:

不工作:

在职的:

经过一番尝试,我的假设是 URL 方案长度不得超过 12 个字符,不包括点(我没有尝试“+”和“-”)。

我正在注册例如此答案中描述的 URL 方案 (因为我希望我的应用程序列在 Windows 8 现代 UI“打开方式”对话框中)。

即这样的东西(缩短):

我找不到有关此限制的任何官方信息。

谁能解释一下我的情况有什么问题,或者这真的是系统的限制吗?

0 投票
1 回答
5285 浏览

javascript - 在哪里调用 navigator.registerProtocolHandler?

我如何以及在哪里使用 navigator.registerProtocolHandler 使其工作?

.

本主题建议您可以调用以下函数来添加自定义协议处理程序:

当我从控制台调用它时,我得到了

如果我按照此处的建议将其作为内容脚本的一部分包含在内,也会发生这种情况

install_protocol.html

我还尝试在我的background.js脚本中调用它,它没有给出错误,但是协议似乎没有响应。

.

您能解释一下如何在 Chrome 中注册和使用自定义协议的过程吗?

0 投票
1 回答
4376 浏览

linux - 自定义协议处理程序 Linux、Centos 7 for chrome

我开发了一个应用程序,在我的网站上单击按钮即可调用该应用程序。我正在使用NPAPI来完成这项任务。然而最近谷歌已经弃用了 NPAPI 所以我使用自定义协议处理程序调用我的应用程序,比如"myapp://"

在 Windows 上,我的应用程序和处理程序运行良好。

现在我想在 Linux 中做同样的事情。我需要为 CentOS 7 和 Chrome 网络浏览器执行此操作。

我做了一些研究,但网络上的大部分帮助都是针对 Firefox 的,但我特别需要 chrome。我的桌面是基于 GNOME 的,请帮忙。

0 投票
2 回答
1822 浏览

android - 覆盖/扩展 Android 上的默认 http 协议处理程序

我过去使用过协议处理程序来覆盖默认的 http 处理程序并创建我自己的自定义处理程序,我认为这种方法仍然适用于 Android。我正在尝试覆盖我的 Android 应用程序请求的任何 http 或 https URL,并在某些情况下将其传递给自定义处理程序。但是我仍然想在其他情况下访问网络资源。如何检索默认的 http/https 协议处理程序?在将我的覆盖放置到位之前,我正在尝试类似以下内容来加载默认处理程序:

我的覆盖逻辑工作如下:

覆盖有效,但在我想要正常的 URL 连接行为的情况下,我无法加载默认值。尝试清除我的 StreamHandlerFactory 如下:

引发错误:

0 投票
0 回答
71 浏览

google-chrome - URI 协议在 Internet Explorer 中有效,但在 Google chrome 中无效

我按照这个微软教程中的说明进行操作。它在 IE 中效果很好。但是当我在 Chrome 中尝试这个时,它只是进行搜索。

这可以在 Chrome 中完成吗?如果是这样,如何?

0 投票
0 回答
234 浏览

uri - 如何实现类似 mailto: 或 file: 的协议?

这与这个问题有关:

自定义 URI 方案删除“井号”(#) 之前的空格

我有一个自定义应用程序,我需要注册到协议并通过参数打开它。

我已经使用:https ://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx 实现了它

但问题是 Windows 截断了我的一些论点(在几次删除空格)。

例如,

变成

在我的应用程序中。

我看到它不会发生在“mailto”或“file”协议处理程序中。我不确定当时解决此问题的最佳方法是什么。

我需要一个简单的示例,我尝试使用“可插入协议处理程序”进行实现,但我不确定这是我需要的,因为它只是用我的 URL 打开 Internet Explorer。mailto/file 正在使用实现它的自定义 DLL,这就是我的目标。

任何帮助,将不胜感激。

0 投票
1 回答
931 浏览

c# - Visual Studio 协议处理程序 - 打开文件

Visual Studio 是否具有包含打开特定文件的命令的协议处理程序?

他们有一个用于 Git 克隆,如宣布 Visual Studio 的 GitHub 扩展中所述:

[在 GitHub 中] 在 Visual Studio 中打开按钮调用一个名为“git-client://”的新协议处理程序。我们与 GitHub 一起设计了这个新的通用协议,以允许网站将标准 Git 操作传递给任何 IDE

基本上我想要做的是在这个GitHub 问题中描述:

在此处输入图像描述

当我单击按钮时,Visual Studio 应该打开特定文件(最好也加载正确的解决方案)。

如果这不能直接使用协议处理程序,是否可以作为具有 Web 视图的 Visual Studio 扩展来实现相同目的(即允许从网页打开文件)?

0 投票
1 回答
2125 浏览

linux - 为什么 Linux 上的 Chrome 显示未知协议的“外部协议请求”对话框?

我正在为 Linux 上的 Google Chrome 创建一个自定义协议处理程序。我的链接如下所示:

我注意到如果 'myprotocol:' 未注册(我的应用程序未安装),Linux 上的 Google Chrome 会显示“外部协议请求”对话框并尝试使用 xdg-open:

在此处输入图像描述

而在其他操作系统上,例如 Windows 10 和 OS X El Capitan,如果协议未注册,则不会显示任何内容。

我还验证了 Firefox 在 Windows、OS X 和 Linux 上始终适用于未知协议 - 没有显示任何内容。

Linux 上的 Chrome 行为让用户非常困惑。

知道为什么 Linux 上的 Chrome(我在 Ubuntu 14.04 上测试)与任何其他操作系统和网络浏览器的行为不同吗?

0 投票
1 回答
532 浏览

c# - .NET How to debug Application protocol handler?

I am creating application protocol handler using MSDN article https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx but i can't debug my code. Please help me in how to debug the code. note the application is launched from the browser using my custom Schema URL.

0 投票
1 回答
587 浏览

google-chrome - Protocol Handler call is being ignored by Chrome

I have an issue with Chrome. The web app sends a number of protocol handler calls to an application, installed on the clients computer, using a Iframe element.

It works on Ie and Firefox. On chrome it works on the first call only. The second call requires the user to be active on the computer and working with Chrome.

Is there any way to accomplish this? maybe using a Chrome plug-in?