You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Chrome剪贴板扩展移植到Edge:寻求chrome.runtime.sendMessage等效方案

Edge中调用剪贴板扩展的消息API指南

嘿,别担心!Edge基于Chromium内核,和Chrome的扩展API兼容性极高,你遇到的问题其实很好解决,我给你一步步理清楚:

1. 等效的消息发送API

Edge里完全支持chrome.runtime.sendMessage,和你在Chrome里用的一模一样!另外,它也兼容标准WebExtensions的browser.runtime.sendMessage,两种写法都能正常工作,选你习惯的就行。

2. 外部网页调用扩展的步骤(和Chrome逻辑一致)

Edge中外部网页向扩展发送消息的机制和Chrome几乎没有区别,你可以沿用之前的方案,只要确认这几个关键点:

第一步:在扩展manifest中配置允许的网站

在你的manifest.json里添加externally_connectable字段,指定哪些网页可以给你的扩展发消息:

"externally_connectable": {
  "matches": ["https://your-target-website.com/*"]
}

如果想允许所有网站(不推荐,不安全),可以用"<all_urls>"。

第二步:网页端发送消息

在你的网页代码里,用chrome.runtime.sendMessage(或browser.runtime.sendMessage),传入你的Edge扩展ID和消息内容:

// 网页端代码示例
chrome.runtime.sendMessage('your-edge-extension-unique-id', {action: 'trigger-paste'}, function(response) {
  if (response && response.clipboardData) {
    console.log('拿到剪贴板数据啦:', response.clipboardData);
    // 这里处理拿到的数据
  }
});

注意:你的Edge扩展ID可以在Edge扩展管理页面(打开开发者模式后)看到,和Chrome的扩展ID获取方式一样。

第三步:扩展端监听外部消息

在扩展的后台脚本里,用chrome.runtime.onMessageExternal.addListener来监听外部网页的消息,处理剪贴板逻辑:

// 扩展后台脚本示例
chrome.runtime.onMessageExternal.addListener(function(request, sender, sendResponse) {
  // 验证发送方是否在允许列表里(可选但更安全)
  if (request.action === 'trigger-paste') {
    // 执行剪贴板读取操作
    navigator.clipboard.readText()
      .then(clipboardText => {
        sendResponse({clipboardData: clipboardText});
      })
      .catch(err => {
        sendResponse({error: '读取剪贴板失败: ' + err.message});
      });
    // 因为是异步操作,要返回true告诉API等待响应
    return true;
  }
});

额外说明

Edge的扩展文档里关于外部消息的内容和Chromium的规范完全对齐,所以你之前参考的Chrome文档里的方案在Edge里完全适用。移植工具已经帮你处理了大部分兼容性问题,只要确保manifest配置正确,API调用和Chrome里一样就行。

内容的提问来源于stack exchange,提问作者Mediha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:44:24