如何从 Chrome 扩展中的 bg 页面访问弹出页面 DOM?

2024-04-22

在谷歌浏览器中扩展开发者部分 http://code.google.com/chrome/extensions/overview.html, 它说

扩展内的 HTML 页面 可以完全访问彼此的 DOM,它们可以调用函数 彼此。 ...弹出窗口的内容 是由 HTML 文件定义的网页 (弹出.html)。弹窗不需要 复制其中的代码 背景页面(background.html) 因为弹出窗口可以调用函数 在背景页上

我已经加载并测试了jQuery,并且可以使用jQuery 访问background.html 中的DOM 元素,但我无法弄清楚如何从background.html 访问popup.html 中的DOM 元素。


您能讨论一下为什么要这样做吗?背景页面是在您的扩展的生命周期内永远存在的页面。而弹出页面仅在您单击弹出窗口时才存在。

在我看来,应该以相反的方式重构它,您的弹出窗口应该从后台页面请求某些内容。您只需在弹出窗口中执行此操作即可访问后台页面:chrome.extension.getBackgroundPage() http://code.google.com/chrome/extensions/extension.html#method-getBackgroundPage

但如果您坚持,您可以使用与扩展页面的简单通信发送请求() http://code.google.com/chrome/extensions/extension.html#method-sendRequest and 根据要求 http://code.google.com/chrome/extensions/extension.html#event-onRequest。也许你可以使用chrome.extension.getViews http://code.google.com/chrome/extensions/extension.html#method-getViews

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

如何从 Chrome 扩展中的 bg 页面访问弹出页面 DOM? 的相关文章

随机推荐

  • 如何为产品类别设置 SQL 表结构?

    我对 SQL 还很陌生 目前正在尝试用 PHP 和 MySql 制作一个简单的产品页面 现在我有一个products有我的产品的表id name price and stock 编辑 样本products tables id name pr
  • 不同命名空间中 k8s 的入口配置

    我需要在 azure k8s 上配置 Ingress Nginx 我的问题是是否可以在一个命名空间等中配置 ingress ingress nginx 和其他命名空间中的一些服务 例如 资源 我的文件看起来像这样 ingress nginx
  • 在 Heroku 上运行 pdf2htmlEX

    我正在尝试奔跑pdf2htmlEX https github com coolwanglu pdf2htmlEX在赫罗库上 起初 我想到在具有与 Heroku 相同堆栈的虚拟机上编译 pdf2htmlEX 然后将二进制文件包含在 git 存
  • 如何从 PHP 字符串中获取 64 位整数哈希值?

    我需要 64 位字符串整数哈希值来实现哈希映射之类的功能 在我看来 没有可以返回 64 位整数的原生 PHP 哈希功能 我认为可以获取 sha1 哈希值的第一部分并将其转换为整数 然而 这不会带来最好的性能 而且转换似乎很棘手 当然 如果不
  • VBA 6.0 和 VBA 7.0 有什么区别?

    我注意到 Office 2010 附带了 Visual Basic for Applications 7 0 但是我似乎找不到太多关于所做更改的文档 有没有人有更改摘要或描述差异的任何资源 VBA6 和 VBA7 之间并没有太多变化 引入
  • 使用 JSoup 时选择具有多个类的元素

    我正在解析网站上的一些表格 特别是我试图按类名提取以下单元格 Elements e d select span class bld lrg red for Element element e System out println eleme
  • 如何捕捉 contentEditable 粘贴事件?

    我有一个很棒的可编辑文本区域wysihat http github com josh wysihat 和内容可编辑 我确实需要一种方法来拦截粘贴事件以阻止它们 或者在允许插入之前处理它们的 DOM 人们可以将整个网页粘贴到可编辑区域 这有点
  • Dependency Walker 未显示所有依赖的 Dll

    我有一个 fortran dll 我想知道它所依赖的程序集再分配目的 http software intel com en us forums showthread php t 73161 我发现的一件事是依赖项步行器没有显示所有依赖项 即
  • 复制上个月的值并插入到新行中

    这是我当前表的示例 1 表名称 TotalSales Name Year Month Sales Alfred 2011 1 100 我想要做的是创建一个像这样的表 添加一个新行 上个月的销售额 2 表名称 TotalSales Name
  • PHPstorm PHPunit 代码共同覆盖

    当我在 PHPstorm 中运行测试套件时 所有代码覆盖率都为 0 我知道这不是真的 当我从命令行运行 PHPunit 时 记录的 HTML 输出文档显示我实际上确实有覆盖率并列出所有详细信息 在 PHPstorm 中 我将 PHP 解释器
  • 从 xml 节点获取行号 - java

    我已经解析了一个 XML 文件并获得了一个我感兴趣的节点 现在如何在源 XML 文件中找到该节点出现的行号 编辑 目前我正在使用 SAXParser 来解析我的 XML 不过 我会对使用任何解析器的解决方案感到满意 除了节点之外 我还有节点
  • Solr距离过滤

    我正在尝试使用 Solr 进行距离范围搜索 我知道在5公里范围内进行搜索过滤很容易 q fq geofilt pt 45 15 93 85 sfield store d 5 我所追求的是如果我正在寻找一系列的说法 如何做同样的事情5至10公
  • 如何在 Django 管理中显示 ManyToMany 关系的 raw_id 值?

    我有一个应用程序在ForeignKeyField 和ManyToManyField 上使用raw id 管理员在编辑框右侧显示外键的值 不幸的是 它不适用于ManyToMany 我检查了代码 我认为这是正常行为 但是我想知道是否有人有一个简
  • 如何在不同的扬声器上播放声音?

    我的设备有 2 个外部扬声器 我如何分别测试它们 一种功能仅在左侧播放声音 一种功能仅在右侧播放声音 谷歌搜索没有成功 也许我使用了错误的术语 也许使用 WIN32 API 设置余额 如果您谈论的是立体声扬声器系统设置中的 2 个扬声器 那
  • java spring缓存会破坏反射吗?

    我最近正在使用 spring boot 和集成缓存 在我的测试中 我使用了一点反射 这是一个例子 Service public class MyService private boolean fieldOfMyService false p
  • 获取回形针附件的绝对 URL

    是否可以获取回形针附件的绝对 URI 目前的问题是生产环境部署在子 URI 中 在 Passenger 上 RackBaseURI but
  • 如何从内存中为 CircleAvatar 提供图像

    我正在使用带有 backgroundImage 属性的 CircleAvatar 来加载从内存中获取的图像 但出现错误 如何在 flutter 中设置 CircleAvatar 中的 image memory String url GetI
  • 断点改变程序流程

    我正在尝试分析和逆向我拥有的 Objective C 程序 我通过手动更改一些操作码对可执行文件进行了一些修改 然而 当我测试修改后的软件时 我得到 死亡人数 9 没关系 我想我触碰了不该触碰的东西 我当时就推出了gdb myprogram
  • Istio 允许在 Docker Desktop Kubernetes 上使用第三方 JWT

    我使用的是 docker 桌面附带的预打包 Kubernetes 集群 我在 Windows 计算机上 使用 WSL 2 在 Ubuntu 18 04 VM 上运行 Kubernetes 在我的 Kubernetes 集群上 我运行 ist
  • 如何从 Chrome 扩展中的 bg 页面访问弹出页面 DOM?

    在谷歌浏览器中扩展开发者部分 http code google com chrome extensions overview html 它说 扩展内的 HTML 页面 可以完全访问彼此的 DOM 它们可以调用函数 彼此 弹出窗口的内容 是由