Chrome 扩展:自定义协议?

2023-11-22

是否有方法可以像在 Firefox 中一样使用 google chrome 扩展注册自定义协议:

const kSIMPLEURI_CONTRACTID = "@mozilla.org/network/simple-uri;1"; 
const kIOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1"; 
const nsISupports = Components.interfaces.nsISupports; 
const nsIIOService = Components.interfaces.nsIIOService; 
const nsIProtocolHandler = Components.interfaces.nsIProtocolHandler; 
const nsIURI = Components.interfaces.nsIURI; 

我想要协议:

xyz:

不是 xyz://

这可能吗?


Chrome 不提供设置自定义处理程序的方法xyz: scheme.

不过,有一些方法可以模拟这种行为:

  • 使用内容脚本为指向的链接的点击设置事件侦听器xyz:....
  • Use the webRequest用于拦截来自默认搜索提供程序的所有请求并将其重定向到自定义 URL 的 API。我使用此方法来捕获通配符搜索关键字,但它也可用于支持虚假方案。不幸的是,该扩展程序将非常特定于用户的搜索设置,因为它会执行如下操作:

    Redirect http://google.com/search?q=xyz%3Awhatever
          to chrome-extension://.../whatever
    

在这两种情况下,你都不会看到xyz:whatever在多功能框中, 尽管。

navigator.registerProtocolHandler应该是最好的注册方式xyz:处理程序。不幸的是,目前它非常有限。自定义协议必须带有前缀web+。另请查看未解决的错误列表对于这个API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 扩展:自定义协议? 的相关文章

随机推荐

  • Gradle:多维风味 ApplicationId

    我有一个相对复杂的项目 每个应用程序需要两个风味维度 我在下面的示例中更简单地重写了它 flavorDimensions shape color productFlavors blue flavorDimension color red f
  • 动态加载样式表

    我知道您可以在页面头部放置样式表 但我喜欢将它们放在单独的文件中 现在我正在使用单页应用程序 那么 SPA 中的内容是动态的 对吗 所以我不想用链接标签导入头部的所有样式表 我可以在需要时以某种方式导入样式表吗 我的意思是 我可以在正文中添
  • 如何在没有 --set-upstream 的情况下推送远程服务器上不存在的新分支?

    情况是我在远程服务器上没有存储库 只有一个帐户 然后 我在本地运行以下命令 其中x是用户名并且y是仅存在于我的本地系统上的项目名称 git init git remote add buckety https email protected
  • su 将密码传递给脚本

    我正在尝试编写一个将运行以下命令的脚本 sudo su runmqsc result su c runmqsc QMGR lt home rob query queue txt m mqm 然而 我的问题是 这些命令是由 sudoers 文
  • 在c#中创建接口的实例

    我在 C 中使用接口 而不是编写一个实现该接口的全新类 是否可以只创建一个实现该接口的对象 接口定义为 public interface ITokenStore IToken CreateRequestToken IOAuthContext
  • 在 mongo 中插入具有数组大小的字段

    我在 mongodb 中有一个文档 其中包含一些数组 现在我需要一个包含该数组的项目数量的字段 所以我需要更新添加此字段的文档 只是我认为这会起作用 db myDocument update itemsTotal exists false
  • Angular:选择性编译模板

    我知道ng non bindable允许给定元素及其子元素不编译为模板 它似乎被设计为根据需要散布在整个模板中 有没有办法告诉 Angular 不要处理给定的元素 而是 戳洞 并允许处理选定的子元素 例如 我希望能够做这样的事情 div d
  • 如何在Android Studio中设置Java SDK路径?

    我安装了 Java 1 7 0 21 今天在卸载以前的版本后安装了 1 7 0 45 现在Android Studio已停止编译项目并表示无法找到1 7 0 21文件夹 如何设置Java SDK的新路径 我也更改了环境变量 但没有用 最高至
  • 如何使用 DOM Inspector(或类似工具)检查我的独立 Xul 应用程序?

    我正在尝试检查我的独立 Xul 应用程序 但是DOM 检查器的页面仅讨论浏览器上加载的文档 如何检查我的独立 Xul 应用程序 DOM Inspector 只能检查其主机应用程序 它扩展的应用程序 中的文档 然后只能检查它安装到的配置文件
  • Python getpass.getpass() 函数调用挂起

    我试图收到询问我密码的提示 但是当我尝试拨打电话时getpass getpass 它只是冻结了 我在 Windows 7 64 位上运行 在 Canopy 上使用 Python 2 7 import sys import getpass p
  • 可以在“设置”>“辅助功能”中检测粗体文本设置吗?

    使用 iOS 7 可以对您的应用程序进行编码 以尊重用户对动态类型的设置 更大或更小的字体大小 你用的方法preferredFontForTextStyle 然后监听通知 以便在用户在应用程序运行时更改设置时更新 UI 我想知道是否可以使用
  • 在 input.checked=true/false _without_ jQuery 上触发事件

    考虑以下代码 http jsfiddle net FW36F 1
  • 使用 Google Drive API 将文件复制到特定的父文件夹中?

    我正在使用 Python 2 7 和服务帐户根据文件标题将 Google 云端硬盘中的文件复制到另一个文件夹中 这需要我执行五 5 个命令 按标题查找文件 ID files list 按标题查找父文件夹 ID files list 复制文件
  • Firefox 跨域请求

    我需要从在 Firefox 中运行的脚本发出跨域请求 仅用于开发目的 这能实现吗 也许修改about config keys Thanks 有一个很棒的帖子詹姆斯 帕多尔西关于如何使用 jQuery 跨域请求 但该帖子也有非常好的资源 需要
  • 如何抑制 HBase 客户端应用程序中的 INFO 日志?

    我正在编写一个访问 HBase 的 Java 控制台应用程序 但我不知道如何摆脱所有烦人的 INFO 消息 13 05 24 11 01 12 INFO zookeeper ZooKeeper Client environment zook
  • 如何在 iPhone 上将 NSMutableArray 转换为 CSV 文件?

    我正在编写一个 iPhone 应用程序 其中包含一个函数 它可以将 NSMutableArray 转换为 CSV 文件 但是 我不知道该怎么办 谁能帮我做到这一点 非常感谢 更新 谢谢大家的回复 实际上 数组包含元素的对象 但我可以将其全部
  • 为什么在 C# 中调试时出现空白表单?

    我刚刚摆脱了所有编译器错误 问题之一是我不小心重命名了视觉表单本身 而不是 GUI 上的单个文本框之一 当我去更改代码中弄乱的内容时 它似乎又可以工作了 然而 每当我按 F5 进行调试时 我都会看到一个较小的空白窗口作为我的 GUI 而不是
  • WPF:简单的文本框数据绑定

    我有这门课 public partial class Window1 Window public String Name2 public Window1 InitializeComponent Name2 new String a 5 my
  • 为什么 RegisterClass 失败并出现 ERROR_NOT_ENOUGH_MEMORY?

    不久 我的问题是 为什么 WinAPI 可以RegisterClass失败与ERROR NOT ENOUGH MEMORY 当有大量空闲内存时 我可以采取什么措施来防止这种情况发生 背景 我正在开发一个应用程序 WinSCP FTP SFT
  • Chrome 扩展:自定义协议?

    是否有方法可以像在 Firefox 中一样使用 google chrome 扩展注册自定义协议 const kSIMPLEURI CONTRACTID mozilla org network simple uri 1 const kIOSE