使用 window.open 打开新选项卡时,Chrome 扩展内容脚本范围是否共享(自 Chrome 45 起)?

2024-01-07

我有一个扩展,在 Chrome (45) 最新更新之前一直运行良好。

问题在于,过去为每个选项卡单独加载的内容脚本现在似乎在打开的选项卡及其开启选项卡(使用 window.open 时)之间共享范围,只要新选项卡与旧选项卡位于同一域中。揭幕战。

有趣的是,直到今天,当我的 Chrome 更新到最新的稳定版本 (45) 时,情况才出现这种情况,但我无法在发行说明中找到有关此内容的任何内容(很可能是我错过了)它)。

我的问题是这是否确实是新 Chrome 的改变?如果是的话,我该如何防止这种情况发生或解决它?


根据您的内容脚本的作用,可能有不同的方法来解决问题。

到目前为止我注意到在 Chrome 45 中chrome.tabs.sendMessage(tabId, {message:"text"})发给tabId此选项卡的开启选项卡的内容脚本也会收到该消息,解决方法是(意味着您要将消息发送到主框架的内容脚本):

try {chrome.tabs.sendMessage(tabId, message, {frameId: 0})} // throws on Chrome prior to 41
catch(e) {chrome.tabs.sendMessage(tabId, message)}

我认为这是一个错误,显然它是在this fix https://codereview.chromium.org/1225413002 of this bug https://crbug.com/507461.

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

使用 window.open 打开新选项卡时,Chrome 扩展内容脚本范围是否共享(自 Chrome 45 起)? 的相关文章

  • AngularJS 指令 - 设置多个指令元素的顺序(不是指令的优先级,而是元素的优先级)

    考虑带有指令 foo 的标记 div div div div div div 使 foo 按指定顺序而不是从上到下 3 1 2 运行的好方法是什么 我唯一能想到做的就是跟踪已运行的内容并在不按顺序的项目上返回 false 然后让 Angul
  • javascript:在 IE9 中获取输入字段(类型=文件)的 base64

    我需要上传一张图片 类似这样的
  • 如何用js获取一个月的4个星期一?

    我正在构建一个图表 其中 x 轴应该是一个月的四个星期 我只想显示该月的四个星期一 我已经有了currentMonth和currentYear变量 而且我知道如何获取该月的第一天 我所需要的只是将一个月的四个星期一放入数组中 所有这些都在同
  • 当名称是数组时如何使用 Javascript 修改 HTML Select

    我有两个同名的 html select 对象 它们是具有不同索引的数组 我想做的是 如果从类别 0 选择元素中选择 关闭 我想禁用类别 1 元素 我一直在尝试使用 document getElementsByName 但无法弄清楚如何专门针
  • 解释 javascript 中的奇怪行为

    我在推特上看到了这个 我也无法解释 定义一个onload函数按以下两种方式工作 1 JSFiddle http jsfiddle net 6rq9k 2 JSFiddle http jsfiddle net 6rq9k 1
  • 加速 Chromium 构建

    我正在使用 Visual Studio 2010 在 Windows 上构建 Chromium 我遵循了在尽可能 短 的时间内构建 Chromium 的所有建议 http www chromium org developers how to
  • ExitFullScreen 不起作用 + 无论如何要按键盘单击按钮?

    我的浏览器 Google Chrome 版本 33 0 1750 154 m Script function exitFullscreen var element document documentElement if element mo
  • JavaScript 逻辑赋值是如何工作的?

    在 javascript 中 如果我们有一些代码 例如 var a one var b q a alert b 逻辑 OR 运算符会将 a 的值分配给 b 并且警报将为 一 这仅限于作业还是我们可以在任何地方使用它 似乎空字符串被视为与未定
  • 如何使用javascript隐藏div

    我想使用 Javascript 隐藏一个 div 下面是我的div div class ui dialog titlebar ui widget header ui corner all ui helper clearfix span cl
  • 动态地将 .on() 方法与事件映射绑定

    我使用此语法来确保事件绑定动态添加li元素 ul list on click li function do something 我尝试使用这样的事件映射来存档相同的内容 ul list hammer css hacks false on s
  • 以编程方式触发 highchart 散点图上某个点的单击事件

    实际上 我有一个小要求 其中有一个带有点列表和下拉列表的散点图 当我从下拉列表中选择一个项目时 应触发其相应的数据点单击 当我在图表上选择一个数据点时 必须执行一些操作 并且下拉列表应根据选择进行更新 我们有什么办法可以做到这一点吗 我尝试
  • 两个日期之间间隔 15 分钟 javascript

    问题 我需要将两个日期 时间戳之间的所有 15 分钟时隙 日期格式 2016 08 10 16 00 00 创建为 HH mm 格式的数组 其中分钟限制为 00 15 30 45 示例 中午 12 30 到下午 2 30 将 gt 12 3
  • 我将 X Y Z 坐标转换为屏幕 X Y 坐标有什么问题吗?

    我正在制作 3D 空间中弹跳的球体的 HTML5 Canvas 演示 这非常简单 每个球都有 X Y 和 Z 坐标 然后 这些坐标将转换为我在此处阅读的屏幕 X 和 Y 坐标 http answers google com answers
  • 替换打字稿中字符串中字符的所有实例?

    我正在尝试用 x 字符替换电子邮件中的所有句号 例如 电子邮件受保护 cdn cgi l email protection 将变为 myxemail emailxcom 电子邮件设置为字符串 我的问题是它不只是替换句号 而是替换每个字符 所
  • 需要根据用户选择有条件地渲染具有 X 行数的部分

    我有一个反应组件 其中包含一个下拉列表 其中的选项包括none 1 5 and 13 根据用户选择的数字 我需要渲染一个部分 其中包括许多行 每个行都有字段名称和下拉列表 如果用户不选择任何一个 我需要整个附加配置部分消失 新部分中的每个下
  • 使用 Javascript 检测 Pepper (PPAPI) Flash

    我们使用的是专有的文档查看器 它与某些 Chrome 版本中的 Pepper 版本的 Flash 配合得不太好 所以我希望能够检测到它并重定向到不同格式的相同内容 由于这个版本似乎落后于 NPAPI 版本 所以我一直在使用闪光检测 http
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http
  • 在 Javascript 中创建数组

    我对 javascript 不太熟悉 并且在用 javascript 制作 2d 或者也许我可能需要 3d 数组时遇到了一些麻烦 我目前需要收集 2 条信息 一个 ID 和一个值 因此我创建了以下内容 var myArray var id
  • 允许 iframe 跨域链接到目标父框架

    我有 2 个域 域 1 上的一个页面使用 iframe 加载域 2 中的内容 如何允许来自domain2 iframe 内 的链接在domain1 的完整父框架中打开 我一直在关注IE和w3c的新沙箱属性 http www w3 org T
  • 将一维数组转换为二维数组[重复]

    这个问题在这里已经有答案了 我正在开发一个程序 我必须将文本文件中的值读入一维数组 我已经成功获取该一维数组中的数字 m1 1 2 3 4 5 6 7 8 9 但我希望数组是 m1 1 2 3 4 5 6 7 8 9 您可以使用此代码 co

随机推荐

  • mod_rewrite - 排除 url

    我需要一个 mod rewrite 来重定向所有http要求https 但我想排除一些网址 force https RewriteCond HTTPS off RewriteCond HTTP HOST secure NC RewriteC
  • 在捆绑扩展中获取 Symfony2 环境

    在我的 Symfony2 捆绑扩展中services yml正在加载中 loader new Loader YamlFileLoader container new FileLocator DIR Resources config load
  • 如何在Android中设置菜单标题[重复]

    这个问题在这里已经有答案了 我正在尝试动态设置菜单的标题 检索并设置它 ItemView menuTitle ItemView findViewById R id menu filter menuTitle setTitle TITLE H
  • 更改 Visual Studio Code 的选项卡栏颜色

    有没有办法在 VS Code 中配置选项卡栏的背景颜色 我知道有一个workBench colorCustomization允许使用 VS Code 更改主题颜色的设置settings json文件 是否可以使用该设置更改它 Tab bar
  • 数据与 [UInt8]

    Swift 两者都提供Data and UInt8 类型 它们做的事情非常相似 两者有何区别 设计新的 API 时 首选类型是什么 UInt8 本质上是一个字节数组 一个字节 我相信你知道 由 8 位组成 虽然 NSData 不仅仅是一个字
  • 如何清理 Arel SQL?

    我有以下 Arel SQL Arel sql users last donated at IS NOT NULL AND users last donated at lt User ACTIVE DONOR WITHIN DAYS days
  • 使用 Jquery fadeout 进行页面过渡

    您好 提前感谢您提供任何解决方案 我一直在尝试在用户切换页面时添加淡入和淡出功能 我已经尝试了在这里和其他论坛上找到的许多解决方案 但似乎都不适用于淡出 淡入效果很好 我只需将 ghostly 添加到 body 标签即可 我所做的一切都对淡
  • Python从文本文件中删除标点符号

    我正在尝试从文本文件中删除标点符号列表 但只有一个与连字符分隔的单词问题 例如 如果我有 post trauma 这个词 我会得到 posttrama 相反 我想得到 post trauma 我的代码是 punct with open my
  • 创建 csv 文件,其中每一行是一个列表中的一些嵌套列表

    我有体育比赛的名单 table Volleyball Europe European Championships Today 17 00 Moldova Cyprus 2 00 1 72 Handball Slovenia 1 NLB Li
  • 通过远程 Active Directory 单点登录 Django 站点

    我使用 Django 为客户开发了一个内联网 用户通过 Active Directory 登录到他们的计算机 目前 我通过标准 Django contrib auth 登录它们 并通过自定义登录后端使用 Active Directory 我
  • 如何迭代字典列表

    我的代码是 index 0 for key in dataList index print dataList index key 似乎可以很好地打印字典键的值index 0 但是 我不知道如何迭代未知数量的字典dataList 您可以只迭代
  • fcm 订阅主题

    我正在尝试使用 FCM 向所有主题订阅者发送通知 首先 我需要让用户订阅一个主题 我做什么 我使用 JavaScript Firebase Cloud Messaging 进行网络推送通知 1 获取FCM实例 var messaging f
  • 将 label_suffix 添加到 ModelForm

    我该如何更改label suffix on a ModelForm 我希望模型表单从所有标签中删除 当表单被实例化时 你可以通过label suffix如下 list form ListForm label suffix
  • 可以更改不同文件的 SASS/Compass 输出文件夹吗?

    我想知道Compass是否可以将文件输出到不同的目录 我有一个相当大的项目 虽然大多数 CSS 文件都放在 css 文件夹中 但其他文件需要放在 admin css 文件夹中 我现在正在对它们进行符号链接 但如果我可以定义一个可以在其他地方
  • 如何获取 BGL 图中的 OutEdgeList

    我使用由 boost 图库制作的图 并希望访问 OutEdgeList 来获取 设置一些内部信息 用于构建 OutEdgeList 的向量的保留大小 我广泛搜索了文档 但没有找到返回指向 OutEdgeList 的引用或指针的函数 成员 我
  • Android 文件(Java 和 XML)被奇怪的 XML 取代 [重复]

    这个问题在这里已经有答案了 我在使用 Android Studio v2 3 3 构建于 2017 06 06 时遇到了一个奇怪的问题 我的一个 Java 文件被替换为似乎由 Android Studio 生成的不相关的 XML 我不认为我
  • 如何从数据库获取日期到html日期选择器

    如何从数据库获取日期值到html datepicker 以下是我的html代码
  • Spring MVC 控制器工作但未创建指定的响应 URL,它正在从请求映射字符串创建 url

    我正在研究基于 Spring MVC 的 Web 应用程序 所以我在spring mvc中创建了一个项目 我选择了eclipse IDE Apache tomcat 8服务器和jre1 8 spring包的版本是4 2 5 在我的项目中 我
  • Laravel Socialite Facebook 登录错误:参数 app_id 是必需的

    试图让社交名流使用我的应用程序 Facebook 返回The parameter app id is required error Routes Route get login facebook CommendMe Http Control
  • 使用 window.open 打开新选项卡时,Chrome 扩展内容脚本范围是否共享(自 Chrome 45 起)?

    我有一个扩展 在 Chrome 45 最新更新之前一直运行良好 问题在于 过去为每个选项卡单独加载的内容脚本现在似乎在打开的选项卡及其开启选项卡 使用 window open 时 之间共享范围 只要新选项卡与旧选项卡位于同一域中 揭幕战 有