问题标签 [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.
google-chrome-extension - chrome中的自定义协议处理程序
如何在 chrome 中设置自定义协议处理程序?就像是:
我的协议://测试文件
我需要它来向http://example.com?query=testfile发送请求,然后将 httpresponse 发送到我的扩展程序。
windows - 如何在 Windows 7 上注册自定义程序以处理 mailto 协议
好的,这可能是我的系统的问题,但我很难让 Windows 7 将我的自定义 exe 识别为 mailto 协议的默认处理程序。
首先,我看到了这个: Register Windows program with the mailto protocol programmatically
接下来,我看到了这些:
我已经添加了似乎合适的注册表项,但每次单击 mailto 链接时(无论是在浏览器中还是通过“运行”窗口),我仍然会收到 Windows Live Mail。我已经为所有用户和当前用户设置了注册表项,但它仍然不起作用。
当我转到“默认程序”应用程序并向下滚动到 mailto 协议时,我只看到列出的 Outlook 和 Windows Live Mail。我的自定义应用程序甚至没有出现。
我认为这要么是 Windows 7 的特殊之处,要么是我的计算机的特殊之处。
我的自定义应用程序是一个 WinForms .Net 应用程序,但我认为这并不重要。
任何想法都非常受欢迎。
javascript - Chrome 中的自定义协议处理程序
是否可以在 Chrome 中注册自定义协议处理程序?此代码适用于 Firefox,但不适用于 chrome:
windows - 在 Windows 7 中,程序名称未与协议处理程序一起显示
在此页面之后,我可以使用 Windows 7 制作“警报”协议处理程序。
注册表设置与页面中的说明完全相同。
问题是该程序没有显示在 IE 和 FF 的对话框中。
协议处理程序工作正常。
这有什么问题?我是否在注册表中添加更多内容以显示程序名称?
android - Android WebView 协议处理程序
我正在尝试使用WebView开发一个 Android 浏览器应用程序,它使用户能够从自定义协议访问内容。自定义协议可以是foobar://
我想拦截对此自定义协议的所有请求。这表示:
- 获取请求
- POST 请求
我需要能够将这些操作的结果交还给 WebView。
可以使用shouldInterceptRequest处理 GET 请求(从 API 级别 11 可用)。
现在我的问题是:如何拦截和处理 POST 请求?
c# - 通过我的协议处理程序在 IE 中显示活动文档
我使用 IE 的可插入协议接口实现的协议处理程序在 IE 中可以很好地呈现 HTML 文件。下一步是能够通过协议处理程序在 IE 中呈现活动文档,例如 doc、ppt、pdf 等。我知道我需要为此实现一些接口,但我不确定到底要做什么。任何指针都会有所帮助。
谢谢。
iphone - 以编程方式检索支持给定文件类型的已安装应用程序列表
虽然很明显我们无法在 iOS 上检索已安装应用程序的列表,但是否有任何技巧可以让我们确定为给定文件类型注册的应用程序列表?也就是说,用户将在“打开方式...”菜单中看到该特定文件类型的列表。canOpenURL 只返回一个布尔值,但理想情况下它会返回一个受支持的已安装应用程序列表。
internet-explorer - 如何让 TCM 自定义协议处理程序在 64 位 Internet Explorer 中工作?
我经常使用的 Tridion 的功能之一是它的“协议处理程序”。对于那些不熟悉该功能的人:如果您将 TCM URI(例如tcm:1-23-32
)粘贴到安装了 Tridion Content Manager 的机器上 Internet Explorer 的地址栏中,它将显示该项目的 XML。
但我注意到此功能在 64 位版本的 Internet Explorer 9 中不起作用。这里有没有人知道我需要做什么才能使其在 64 位版本中也起作用?
我正在使用 Tridion 2011 SP1 + HR1,但我不认为这个问题/问题特定于该版本的 Tridion。
launching-application - 协议处理程序
要求:我们希望通过按钮或链接从网页启动外部比较工具(如 BeyondCompare 或 WinMerge)。文本文件路径应在启动时传递给该工具,以便它理解它们并在左侧和右侧比较面板中打开它们。
尝试过的解决方案:
1) 使用JavaScript 的 ActiveXObject:用户可以简单地点击一个按钮/链接并启动安装在其机器上的比较工具。但它只适用于 Internet Explorer,所以我们不能这样做。
2) 使用Java Applet:出于安全原因,浏览器内嵌的小程序不允许访问本地文件系统,会抛出“访问控制异常”。因此,我们也不能这样做。
参考:为什么我的小程序会抛出 AccessControlException?
3)使用协议处理程序:我们可以设置一个自定义的URL协议来触发程序。就像我们使用 mailto:user@email.com 语法来创建电子邮件链接一样,这将自动在 Windows 上启动 Outlook。“mailto”是 Windows 注册表中的预定义协议。
同样,我们创建了自己的协议,在注册表中说“launchCompareTool”,并且能够启动任何应用程序,如 WinMerge 或 BeyondCompare。但是,我们无法实现将左侧和右侧文件路径作为参数传递给应用程序。可能是正在启动的应用程序需要期待这些参数。
参考:http ://www.dreamincode.net/forums/topic/220444-run-program-from-server-on-client-computer/ http://msdn.microsoft.com/en-us/library/aa767914% 28v=vs.85%29.aspx#app_reg
与“mailto”协议不同,后者将“body”和“subject”参数传递给可以理解它们的邮件客户端(如 Outlook)。这些比较工具没有可以从协议传递的参数。
有没有其他方法可以满足这个要求?
谢谢, 阿卜杜勒