【问题标题】:Make a Google Chrome Extension work on only one tab使 Google Chrome 扩展程序仅在一个选项卡上工作
【发布时间】:2016-03-05 21:59:04
【问题描述】:

有没有办法设置一个谷歌浏览器扩展(可能在清单中?),以便它只在一个标签上运行?这样,我可以让我的扩展程序在该选项卡上执行操作,同时我在另一个选项卡上处理其他工作。

我需要这种能力,因为我的扩展程序几乎位于网站上,并且不断刷新页面,寻找更新。

编辑

虽然由于隐私政策,我无法显示扩展程序的代码,但我可以解释它的确切作用。对于 localbitcoins.com,该扩展程序在页面上搜索未读消息通知,并每 3 秒刷新一次以反复搜索。如果发现未读消息,它将当前 URL 重定向到通知提供的链接。从那里,它识别一个 html 表单,用消息填充 <input> 标记,提交表单,然后返回主页,再次搜索新消息。同样,每 3 秒刷新一次。

【问题讨论】:

  • 目前为止您所说的无法回答。您需要展示您的扩展程序的功能和方式。从您的清单开始,并描述每个扩展部分的作用。

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

我想你的扩展是通过清单注入内容脚本来工作的。

您可以改为使用浏览器操作进行扩展,单击时将打开一个选项卡,然后通过programmatic injection 处理内容脚本。

这样,即使您打开另一个具有相同站点的选项卡,内容脚本也不会在那里注入。

或者,您始终可以注入内容脚本,但只能从后台页面“激活”它。

这只是一个非常高级的概述,但您的问题很简单。

无论如何,您都需要一个背景页面 + messaging,因为只有背景页面知道标签 ID。

【讨论】:

    【解决方案2】:

    据我了解,您正在创建特定于站点的扩展程序。在这种情况下,请在 manifest.json 文件中设置站点特定权限。

    "permissions":          ["https://WhateverYourSite/*","activetab"]
    

    【讨论】:

    • 问题是关于将扩展限制为站点的一个实例(因为脚本很容易自行导航)
    • 设置权限“activetab”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多