Chrome 扩展程序 - 消息传递

2023-11-26

我正在尝试获取选项页面上设置的信息以更改扩展程序的行为。

基本上,如果 OptionsPage 上的复选框设置为 true,则扩展将运行,否则不会运行。 为了测试目的,我在 background.html 上返回 true,但它仍然不起作用。

你们愿意帮我吗?谢谢!

注入页面的代码:

if(chrome.extension.sendRequest() == 'true')
    alert("checkbox set to true");
else
    alert("it is disabled");

背景.html

<script>
chrome.extension.onRequest.addListener(function(){
    return true;
    }
</script>

如果你有一个选项页并且您想与背景页,你可以简单地做,chrome.extension.getBackgroundPage()

与后台页面通信的选项页面


选项.html

var bkg = chrome.extension.getBackgroundPage()
bkg.startExtension();
bkg.stopExtension();

背景.html

function startExtension() {
  console.log('Starting Extension');
}

function stopExtension() {
  console.log('Stopping Extension');
}

与后台页面通信的内容脚本


当您提到“代码被注入到页面”时,是哪个网站吗?如果是这样,您需要使用内容脚本 with 消息传递。为此,您可以这样做。

内容脚本.js

chrome.extension.sendRequest({action:'start'}, function(response) {
  console.log('Start action sent');  
});

背景.html

function onRequest(request, sender, sendResponse) {
 if (request.action == 'start')
   startExtension()
 else if (request.action == 'stop')
   stopExtension()

 sendResponse({});
};
chrome.extension.onRequest.addListener(onRequest);

任何状况之下,消息传递对于任何想接触扩展的人来说,这是一本很好的读物。

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

Chrome 扩展程序 - 消息传递 的相关文章

随机推荐

  • C# 中的函数指针

    我想在某些方面 或两者 Delegate or MethodInfo有资格获得这个称号 然而 两者都没有提供我正在寻找的语法优美性 简而言之 有什么方法可以写出以下内容 FunctionPointer foo whatever create
  • orElse 如何在偏函数上工作

    我的行为非常奇怪 至少在我看来 orElse方法定义于PartialFunction 在我看来 val a PartialFunction String Unit case hello gt println Bye val b Partia
  • 错误:“brew link”步骤未成功完成

    我正在尝试通过 Homebrew 安装 Node js 不幸的是 我收到此错误 brew install node gt Downloading http nodejs org dist v0 8 10 node v0 8 10 tar g
  • 保存事件后触发 MS Word 宏

    我的 MS Word 2007 模板有一个页脚 其中包含文件名 用户将打开模板并执行 另存为 来制作文档 我希望页脚中显示的文件名立即更新为新文件名 有没有一个AfterSaveEvent或者我可以用作钩子来启动执行更新的 VBA 脚本的东
  • 使用迭代器时可以速记“begin..end”吗?

    怎样才能避免写作smth begin smth end 一直在使用迭代器 例如 如果您必须使用std reverse 它看起来像这样 std reverse mystr begin mystr end 但我想我在某个地方看到人们在做同样的事
  • 如何在 onStartup 和 onInstalled 上添加 Chrome 扩展侦听器?

    The chrome runtime API有一些事件可以用来将侦听器添加到上下文菜单 目前我正在使用chrome runtime onStartup像这样 chrome runtime onStartup addListener func
  • Spring Cloud Vault 和带有 Vault 后端的 Spring Cloud Config 之间的区别

    以下内容有什么区别 春云金库 http cloud spring io spring cloud vault 带有 Vault 后端的 Spring Cloud 配置服务器 http cloud spring io spring cloud
  • Raspberry Pi 自组织网络

    我想尝试使用 Raspberry Pi 进行一些网络项目 并且我只需要在一对 pi 之间发送数据包 作为第一步 我很高兴能够在临时模式下 ping 到 Raspberry Pi 尽管在网上查看了一些教程和示例 但我还没有成功地做到这一点 我
  • 回形针在开发中工作但在生产中不起作用?

    我对 Rails 还很陌生 似乎对回形针宝石有疑问 我安装了 gem 它在开发中运行良好 localhost 3000 但是当我在heroku 服务器上运行它时 由于某种原因它不想附加文件 并且应用程序中断 错误 500 页面 这是我运行的
  • 如何在Android上正确使用setZOrderMediaOverlay?

    与许多其他人一样 我尝试在相机预览 使用 SurfaceView 上绘制 3D 对象 使用 GLSurfaceView 以及放置在顶部的一些按钮 我实际上得到了一个可以工作的原型 但是我无法让 onResume 正常工作 恢复后 GLSur
  • 为什么 scanf 的转换说明符中可以嵌入空字符?

    也许我误解了我的结果 但是 include
  • IIS Express 似乎没有接受对 applicationhost.config 的更改

    我遵循了接受的答案这个问题通过在我的计算机上运行的 IIS Express 服务器进行本地调试时 尝试让我的 Net Web 应用程序在一组特定的凭据下运行 但是 我似乎无法获取更改 诚然 我不知道如何验证实际发生的情况 但我所看到的行为让
  • 类库的 app.config

    我看不到 VS2008 向导为类库生成的 app config 文件 在我的研究中 我发现应用程序中只存在一个 app config 手动将 app config 添加到类库中是一件坏事吗 还是有其他方法可以实现类库中 app config
  • Adobe .jsx 脚本可以包含其他脚本文件吗?

    我们正在编写一堆 jsx 脚本 在每个脚本中我都必须模拟一些函数 以便我可以使用 Array map 和 String trim 之类的东西 但我不想包含该代码在每个脚本的顶部 有没有办法在 jsx 脚本文件中 包含 其他 jsx 脚本 或
  • React Native无法使用Android模拟器连接到react-devtools

    我执行该项目react native run android在另一个终端中 我这样做 npm run react devtools 它打开了电子的新窗口 上面写着 React Native 应用程序将在几秒钟内打开 但什么也没发生 I pu
  • C/C++ 中的 bool 是什么?关键字还是宏?

    我提到这个问题 其中一些答案表明bool是整型 IDE 也将其视为关键字 然而 没有一个答案表明中提供的信息cplusplus 这说明了bool是一个宏 通过添加
  • 是否有可供使用的浏览器条件列表(包括样式表)?

    我见过人们在 HTML 中做这样的事情 这是否适用于所有现代浏览器 是否有适用于此类 if 语句的浏览器类型列表 Edit Thanks Ross 有趣的是要了解gt lt gte 和 lte 这适用于所有浏览器 因为除了 IE 之外的任何
  • Android 如何获取Edittext中选定的单词?

    我正在开发一个像记事本这样的应用程序 我想在其中动态更改所选文本格式 颜色 更改字体样式 粗体 斜体 下划线等 如何格式化特定单词 您可以使用以下方式获取所选单词getSelectionStart and getSelectionEnd 方
  • Filezilla 删除 php 文件上的换行符 [重复]

    这个问题在这里已经有答案了 可能的重复 如何阻止 Filezilla 更改我的换行符 由于某种原因 Filezilla 有时会删除我的 php 文件上的换行符 使代码显示在一行上 当我上传项目时 会出现一堆错误 我环顾四周并将传输类型更改为
  • Chrome 扩展程序 - 消息传递

    我正在尝试获取选项页面上设置的信息以更改扩展程序的行为 基本上 如果 OptionsPage 上的复选框设置为 true 则扩展将运行 否则不会运行 为了测试目的 我在 background html 上返回 true 但它仍然不起作用 你