首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何执行针对另一个扩展的脚本?

如何执行针对另一个扩展的脚本?
EN

Stack Overflow用户
提问于 2021-11-07 17:24:04
回答 1查看 121关注 0票数 0

在Chrome扩展中,有什么方法可以将脚本执行到另一个开放扩展中呢?我只想点击一个特定的按钮,每当一个不同的扩展打开。

我试过用chrome脚本API

代码语言:javascript
复制
chrome.scripting.executeScript({
   target: { tabId: tab.id }, // tab id relative the other open extension
   function: injectIntoAnotherExtension
});

function injectIntoAnotherExtension() {
    document.getElementById('some-button').click();
}

一开始我得到了一个错误:

代码语言:javascript
复制
Error: Cannot access a chrome-extension:// URL of different extension

在启用chrome:// URLs标志(chrome://flags/#extensions-on-chrome-urls)上的扩展之后,我现在得到:

代码语言:javascript
复制
Error: Cannot access contents of url "chrome-extension://foo/bar/xyz.html". Extension manifest must request permission to access this host.

下面是我的清单权限,它应该允许所有urls:

代码语言:javascript
复制
"host_permissions": [
   "<all-urls>"
]

我也尝试了*://*/*chrome-extensions://*/*,但没有成功。

相关问题:

有办法绕过吗?或者是否有其他方法可以自动单击另一个正在运行的扩展中的按钮?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-11-08 13:50:17

多亏了@wOxxOm,我才让它与:

代码语言:javascript
复制
chrome.debugger.attach({
   tabId: tab.id
}, '1.0', function() {
   chrome.debugger.sendCommand({
      tabId: tab.id
   }, "Runtime.evaluate", { expression: 
      "document.getElementById('some-button').click();" 
   }, function(response) {
      console.log(response);
   });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69874853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档